-1
私は2つのselect
要素と1つのcheckbox
を持っています。私が到達しようとしているのは、最初のものからのコンティリー(アルバニアは言うことができます)を選択し、checkbox
を押すと、このオプションは2番目のselect
にロードされます。私はkartiv Select2 widget
を使用していて、何とかちょうどそれを得ることができませんどのように私はそれを作る必要があります。 この私の最初の選択:残りの要素のためのYii2 Select2 kartik-vチェックボックスの変更で選択値を与える
<?php
$mas[0] = Yii::t('app', 'Главна страница');
$mas['----------------'] = ArrayHelper::map(Country::find()->all(), 'id', 'name');
?>
<?=
$form->field($model, 'address_country_id')->widget(Select2::classname(), [
'model' => $model,
'attribute' => 'address_country_id',
'data' => $mas,
'options' => [
'placeholder' => Yii::t('app', 'Избери държава'),
'class' => 'register-select',
],
'pluginOptions' => [
'allowClear' => true
],
])->label(false);
?>
とJS:
<?php
$mas[33] = Yii::t('app', 'Bulgaria');
$mas['----------------'] = ArrayHelper::map(Country::find()->all(), 'id', 'name');
?>
<?=
$form->field($model, 'country_id')->widget(Select2::classname(), [
'model' => $model,
'attribute' => 'country_id',
'data' => $mas,
'options' => [
'placeholder' => Yii::t('app', 'Избери държава'),
'class' => 'register-select',
],
'pluginOptions' => [
'allowClear' => true
],
])->label(false);
?>
2つ目を。彼らは単純な入力ですので、私はそれらをうんざりすることはありません。
JS:
$(function() {
$('#fill_address').on('change', function() {
var country = $("input[name='register-form[country_id]']");//This is the first select
var city = $("input[name='register-form[city]']");
var address = $("input[name='register-form[delivery_address]']");
var post_code = $("input[name='register-form[post_code]']");
var country_delivery = $("input[name='register-form[address_country_id]']");//This is the second select which i should give the value from the first one
var city_delivery = $("input[name='register-form[address_city]']");
var address_delivery = $("input[name='register-form[address_address]']");
var postcode_delivery = $("input[name='register-form[address_post_code]']");
if($(this).is(":checked")){
city_delivery.val(city.val());
address_delivery.val(address.val());
postcode_delivery.val(post_code.val());
return false;
}
city_delivery.val('');
address_delivery.val('');
postcode_delivery.val('');
return false;
})
})
事前にありがとうございます! (チェックボックスがチェックされたときのイベントに)