gpt4 book ai didi

jquery - yii2 依赖的自动完成小部件

转载 作者:行者123 更新时间:2023-12-01 07:11:03 25 4
gpt4 key购买 nike

我的表单中有两个字段:

<?= $form->field($model, 'bill_country')->widget(AutoComplete::className(), ['options' => ['class' => 'form-control'], 'clientOptions' => ['source' => $country_name]])->label('Country') ?>
<?= $form->field($model, 'bill_zip')->widget(AutoComplete::className(), ['options' => ['class' => 'form-control'], 'clientOptions' => ['source' => '/city/list/+id']])->label('Zip') ?>

根据第一个 block 的选择,我想更改第二个 block 的“源”。 +id 是一个 JavaScript 变量...因此,我想使用 val() 获取第一个自动完成的值,将其分配给 var id,然后将此 id 传递给第二个自动完成的源。我可以这样做吗?或者我应该使用其他选项?

谢谢!

最佳答案

所以,代码:

$this->registerJs("
var country = '';
$('#partner-bill_country').autocomplete({
select: function( event, ui ) {
country = (ui.item.country_id);
$('#partner-bill_zip').autocomplete({
source: '/city/list/'+country
});
}
});
$('#partner-bill_zip').autocomplete({
select: function(event, ui) {
$('#partner-bill_city').val(ui.item.citname);
}
});
", View::POS_READY, 'partner_script');
//initial arrays:
$city_zip = frontend\models\City::find()
->select(['CONCAT(cit_zip, " ", cit_name) as label', 'cit_zip as value', 'cit_id as id', 'cit_name as citname'])
->asArray()
->all();

$country_name = frontend\models\Country::find()
->select(['CONCAT(country_code, " ", country_name) as label', 'country_name as value','id as country_id'])
->asArray()
->all();
?>
<div class="partner-form">
<?php $form = ActiveForm::begin(); ?>
<div class="row">
<div class="col-lg-6">
<?= $form->field($model, 'bill_country')->widget(AutoComplete::className(), ['options' => ['class' => 'form-control'], 'clientOptions' => ['source' => $country_name]])->label('Country') ?>
<?= $form->field($model, 'bill_zip')->widget(AutoComplete::className(), ['options' => ['class' => 'form-control'], 'clientOptions' => ['source' => $city_name]])->label('Zip') ?>

关于jquery - yii2 依赖的自动完成小部件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27025791/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com