yii2 - 如何在 javascript 中设置 kartik select2 值
Posted
技术标签:
【中文标题】yii2 - 如何在 javascript 中设置 kartik select2 值【英文标题】:yii2 - How to set kartik select2 value in javascript 【发布时间】:2018-05-11 14:09:12 【问题描述】:我尝试在 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 select2 元素
<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');
,但它没有任何改变。
请指教。谢谢。
【问题讨论】:
Refrence. 感谢重播。我找到了解决办法。 【参考方案1】:select2 的第一个 id 错误。
$('#select2-pengirimanproduksi-item_id-container')
不要与此混淆,并根据您的视图名称使用常规名称,就像我的 $('#pengirimanproduksi-item_id').val(your_value).trigger('change')
应该可以工作。
只是阅读 select2 文档。
【讨论】:
【参考方案2】:你可以给自己的id:
'options' => ['placeholder' => 'Select item','id' => 'your_id'],
【讨论】:
以上是关于yii2 - 如何在 javascript 中设置 kartik select2 值的主要内容,如果未能解决你的问题,请参考以下文章
Yii2 如何在不使用 all()、one() 或其他执行方法的情况下在新查询中设置数据库配置?
从 javascript 设置 yii2 select2 小部件的值