问题
Hi all i am newbie in yii2 need your advise i use select2 widget, when i selected value it will throw another value that i had set in array before. so how can i do this in yii2. so far i doing this.i have try using jquery function using pluginevents in select2 but still stuck..here is my code
<?= $idnpwp = ArrayHelper::map(Mfwp::find()->all(),"id", "npwp", "nama_wp");?>
<?= $form->field($model, 'npwp')->widget(Select2::classname(), [
'language' => 'id',
'data' => $idnpwp,
'options' => ['placeholder' => 'Select a NPWP ...'],
'pluginOptions' => [
'allowClear' => true
],
'pluginEvents' => [
"change" => 'function(data) {
var data_id = $(this).val();
$("input#target").val($(this).val());
}',
]
]);
?>
<?= $form->field($model, 'nama_wp')->textInput(['id' => 'target']) ?>
how can i insert 'nama_wp' that already set in array into field nama_wp thx for helping
回答1:
First thing you need to change the
<?= $idnpwp = ArrayHelper::map(Mfwp::find()->all(),"id", "npwp", "nama_wp");?>
to
<?php $idnpwp = ArrayHelper::map(Mfwp::find()->all(),"id", "npwp", "nama_wp");?>
The you need to access the current value of the select2 via data.currentTarget.value
, so change the code for change
to the following.
<?php echo $form->field($model, 'npwp')->widget(Select2::classname(), [
'language' => 'id',
'data' => $idnpwp,
'options' => ['placeholder' => 'Select a NPWP ...'],
'pluginOptions' => [
'allowClear' => true
],
'pluginEvents' => [
"change" => 'function(data) {
var data_id = data.currentTarget.value;
$("#target").val(data_id );
}',
]
]);
?>
来源:https://stackoverflow.com/questions/58189617/select2-widget-selected-will-updated-other-select2