2017-11-28 15 views
0

javascriptのアクションでkartik select2に値を設定しようとしましたが、まだ運がありません。ここ は、ビューファイルで私のコードです:このyii2 - javascriptでkartik select2の値を設定する方法

よう

<div class="col-xs-6"> 
    <?= $form->field($model, 'item_id')->widget(kartik\select2\Select2::className(), [ 
     'data' => \yii\helpers\ArrayHelper::map(\app\models\ItemProduction::find()->all(), 'id', 'name'), 
     'options' => ['placeholder' => 'Select item'], 
     'pluginOptions' => [ 
      'allowClear' => true, 
     ], 
    ]) ?> 
</div> 

と私のjavascriptのコード

$(document).on('click', '.select-row', function(){ 
    // get id from custom button 
    var id = $(this).attr('data-id'); 
    $.get('../ticket-timbangan/get-ticket', {id : id}, function(data){ 
      var data = $.parseJSON(data);   
      alert(data.item_id); 
      $('#pengirimanproduksi-ticket_id').val(data.id);     
      $('#select2-pengirimanproduksi-item_id-container').val(data.item_id).trigger('change'); 

      $('#pengirimanproduksi-bruto_tbg').val(data.bruto); 
      $('#pengirimanproduksi-tara_tbg').val(data.tara); 
      $('#pengirimanproduksi-remark').val(data.remark); 
    }); 
    $('#modalTicketList').modal('hide');   
}); 

これは私がkartik要素

<span class="select2-selection__rendered" id="select2-pengirimanproduksi-item_id-container"><span class="select2-selection__placeholder">Select item</span></span> 

私はこのコード$('#select2-pengirimanproduksi-item_id-container').val(data.item_id).trigger('change');を試みるが、それをSELECT2検査であります何も変わらない。 アドバイスをお願いします。ありがとう。

+0

[Refrence](https://stackoverflow.com/questions/25428361/dynamically-add-item-to-jquery-select2-control-that-uses-ajax)。再生のためにありがとうございます。 –

+0

私は解決策を見つけました。 –

答えて

0

select2の最初のIDが間違っています。

$('#select2-pengirimanproduksi-item_id-container') 

はこれで混乱と私は$('#pengirimanproduksi-item_id').val(your_value).trigger('change')動作するはずであるように、あなたのビュー名に応じて定期的なものを使用していません。

select2のマニュアルを読んでください。

関連する問題