Как решить проблему выбора виджета 2 в динамической форме в yii2

Вот как выглядит ошибка:

введите описание изображения здесь

Ошибка существует, только когда я использую select 2 в виджете динамической формы от wbrangca. И такая же проблема возникает для dropdowndown.

Ошибка консоли:

jquery.js:1468 Uncaught Error: Syntax error, unrecognized expression: #salesqty-{$i}-catagory_id
at Function.Sizzle.error (jquery.js:1468)
at Sizzle.tokenize (jquery.js:2125)
at Sizzle.select (jquery.js:2546)
at Function.Sizzle [as find] (jquery.js:869)
at jQuery.fn.init.find (jquery.js:2792)
at jQuery.fn.init (jquery.js:2909)
at jQuery (jquery.js:75)
at HTMLDocument.<anonymous> (create:809)
at fire (jquery.js:3187)
at Object.fireWith [as resolveWith] (jquery.js:3317)
yii2-dynamic-form.js:90 Uncaught TypeError: Cannot read property 'settings' of undefined
at _parseTemplate (yii2-dynamic-form.js:90)
at HTMLFormElement.<anonymous> (yii2-dynamic-form.js:37)
at Function.each (jquery.js:365)
at jQuery.fn.init.each (jquery.js:137)
at jQuery.fn.init.init (yii2-dynamic-form.js:36)
at jQuery.fn.init.$.fn.yiiDynamicForm (yii2-dynamic-form.js:19)
at create:826
at dispatch (jquery.js:4737)
at elemData.handle (jquery.js:4549)

И JavaScript выглядит так:

var $hasSelect2 = $(widgetOptionsRoot.widgetItem).find('[data-krajee-select2]');
if ($hasSelect2.length > 0) {
$hasSelect2.each(function() {
var id = $(this).attr('id');
var configSelect2 = eval($(this).attr('data-krajee-select2'));

if ($(this).data('select2')) {
$(this).select2('destroy');
}

var configDepdrop = $(this).data('depdrop');
if (configDepdrop) {
configDepdrop = $.extend(true, {}, configDepdrop);
$(this).removeData().off();
$(this).unbind();
_restoreKrajeeDepdrop($(this));
}
var s2LoadingFunc = typeof initSelect2Loading != 'undefined' ? initSelect2Loading : initS2Loading;
var s2OpenFunc = typeof initSelect2DropStyle != 'undefined' ? initSelect2Loading : initS2Loading;
$.when($('#' + id).select2(configSelect2)).done(s2LoadingFunc(id, '.select2-container--krajee'));

var kvClose = 'kv_close_' + id.replace(/\-/g, '_');

$('#' + id).on('select2:opening', function(ev) {
s2OpenFunc(id, kvClose, ev);
});

$('#' + id).on('select2:unselect', function() {
window[kvClose] = true;
});

if (configDepdrop) {
var loadingText = (configDepdrop.loadingText) ? configDepdrop.loadingText : 'Loading ...';
initDepdropS2(id, loadingText);
}
});
}

Если я не использую виджет select 2, на консоли не будет ошибки.

0

Решение

если вам все еще нужно …
Проверьте на использование одного

вместо

«

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]