我正在尝试从使用select2的用户输入中获取相关行。我正在按照this教程进行操作,但现在我在获取匹配行时卡住了。这是用于从用户获取输入的select2:
<?= $form->field($model, 'kod_bangunan')->widget(Select2::classname(), [
'data' => ArrayHelper::map(
KodModal::find()
->select('kod_bangunan, kod_bangunan')
->where(['aktif' => 'Y'])
->asArray()
->all(), 'kod_bangunan', 'kod_bangunan'
),
'language' => 'en',
'options' => ['placeholder' => '-- PLEASE SELECT --', 'class' => 'form-control'],
'pluginOptions' => [
'allowClear' => true,
'initialize' => true,
],
]);
?>
所以kod_bangunan是我希望用户从中选择的id。KodModal是我的数据库kod_modal的模型。
这是我的javascript,我把它放在与上述代码相同的文件中,即_capital. php中,路径为
backend/views/capital-setting/_capital.php
<?php
$script = <<< JS
//here right all javascript
$('#kodmodal-kod_bangunan').change(function(){
//kod_bangunan holds the value that is the building code selected
var kod_bangunan = $(this).val();
$.get('index.php?r=capitalsetting/get-for-building',{ kod_bangunan : kod_bangunan }, function(data){
alert(data);
});
});
JS;
$this->registerJs($script);
?>
这是我的控制器文件,名为CapitalSettingController.php,路径为
backend/controllers/CapitalSettingController.php
public function actionGetForBuilding($kod_bangunan){
$KodModal = KodModal::findOne(['kod_bangunan'=>$kod_bangunan]);
echo Json::encode($KodModal);
}
因此,当我从select2中选择一个kod bangunan时,它应该警告与kod_bangunan匹配的行中的数据。但现在它在控制台上显示了错误。以下是错误屏幕截图
请帮帮忙,我是Yii框架的新手。
1条答案
按热度按时间gg58donl1#
你能检查为什么你的开发工具显示以下请求URI吗?
我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,
我认为这应该看起来像:
资本设置/获取建筑物?kod_bangunan=008
所以试着用yii方法创建url:
1.选项是使用pjax
你认为:
在控制器中: