我正在實現依賴下拉列表並希望將其ID保存在表CANDIDATE中。
我有一個名爲CENTER的表,它有兩列ID,名稱。
我的另一張表是DISTRICT,它有三列ID,NAME和CENTER_ID。
通過選擇CENTER,我正在填充DISTRICT下拉列表,但是district_id未保存在表格CANDIDATE中。
_form保存依賴下拉列表的數據 - Yii
<div class="row">
<?php echo $form->labelEx($model, 'district_id'); ?>
<?php
$dist = CHtml::listData(Center::model()->findAll(array('order' => 'id')), 'id', 'name');
echo $form->dropDownList($model, 'center_id', $dist, array(
'prompt' => '–select district–',
'ajax' => array('type' => 'POST',
'url' => CController::createUrl('candidate/districts'),
'update' => '#center_id',
)
));
?>
<?php
echo CHtml::dropDownList('center_id','', array());
?>
</div>
CandidateController
public function actionDistricts() {
$centers = District::model()->findAll('center_id =:id', array(':id' => (int) $_POST['Candidate']['center_id']));
$return = CHtml::listData($centers, 'id', 'name');
foreach ($return as $centerId => $centerName) {
echo CHtml::tag('option', array('value' => $centerId), CHtml::encode($centerName), true);
}
}
我已經試過了,但它仍然不返回任何東西。 –
查看你的螢火蟲蹤跡後,我猜問題是你將district_id發送到你的actionDistricts,但在服務器端嘗試讀取$ _POST ['Candidate'] ['center_id'] – apoq
我做了更新。希望它有幫助) – apoq