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中设置动态时区

Yii2 如何在不使用 all()、one() 或其他执行方法的情况下在新查询中设置数据库配置?

在 yii2 的 select2 下拉菜单中设置默认值

从 javascript 设置 yii2 select2 小部件的值

如何使用 Javascript 在 CKEditor 中设置值?

如何在javascript中设置定时间隔?