2017-02-14 1 views
0

Dies ist, was der Fehler wie folgt aussieht:Wie wählen Sie 2-Widget Fehler auf dynamische Form lösen in yii2

enter image description here

Der Fehler existiert nur, wenn ich von wbrangca verwenden select 2 auf dynamische Form Widget. Und das gleiche Problem tritt auch bei Depdropdown auf.

Console Fehler:

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) 

Und das Javascript wie folgt aussieht:

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); 
     } 
    }); 
} 

Wenn ich dort nicht die select 2-Widget verwenden, wird kein Fehler auf der Konsole sein.

+1

Bitte mehr Details wie: console Fehler und Code –

Antwort

0

wenn Sie noch brauchen ... prüfen für die Verwendung von einzelnen

'

statt

"