Yii,将 2 个下拉列表合并为 1
Yii, joining 2 dropdown lists into 1
所以基本上我有 2 个不同的下拉列表,例如,A 有 10 个选项,B 有 10 个选项。
我怎样才能将它们都放在一个下拉列表中?例如,A 的前 10 个选项和 B 的后 10 个选项?
下面是下拉 A:
<?php echo $form->labelEx($model,'clientPackagedService_id'); ?>
<?php $client = Client::model()->findByPk(1);?>
<?php echo $form->dropDownList($model, 'clientPackagedService_id', CHtml::listData($client->clientPackagedservices(array('condition'=>'client_id='.$client->id.' AND booking_id IS NULL')),'id','packagedServiceInfo'),
array('disabled'=>'disabled', 'prompt'=>'Select Packaged Service...')
); ?>
<?php echo $form->error($model,'clientPackagedService_id'); ?>
下面是下拉列表 B:
<?php echo $form->labelEx($model,'service_id'); ?>
<?php echo $form->dropDownList($model, 'service_id', GxHtml::listDataEx(Service::model()->findAllAttributes(null, true)),
//array( 'prompt'=>'Select Service...')
array( //
//'disabled'=>$disabledValue, //
'enabled'=>true,
'prompt' => 'Select service...',
'ajax' => array( 'type'=>'POST', //request type
'url'=>CController::createUrl('updateMasseuseAndStationListSID'), //url to call.
'data'=>array('service_id'=>'js:this.value', 'dt'=>'js:$("#Booking_date").val()', 'timeStart'=>'js:$("#Booking_timeStart").val()'),
'dataType'=>'json',
'success'=>'js:function(data) {
//alert(data.masseuse);
var mass="#'.CHtml::activeId($model, 'masseuse_id').'";
$(mass).html(data.masseuse);
$(mass).trigger("chosen:updated");
$(mass+"_chzn").css("width","300px");
$(mass+"_chzn > .chzn-drop").css("width","298px");
var station="#'.CHtml::activeId($model, 'station_id').'";
$(station).html(data.station);
$(station).trigger("chosen:updated");
$(station+"_chzn").css("width","300px");
$(station+"_chzn > .chzn-drop").css("width","298px");
//alert(data.timeEnd);
var timeEnd="#'.CHtml::activeId($model, 'timeEnd').'";
$(timeEnd).val(data.timeEnd);
}',
)
)); ?>
<?php echo $form->error($model,'service_id'); ?>
我怎样才能加入它们,然后保持与Ajax相同的操作?
请指教。提前致谢。
将 clientPackagedservices() 的结果与控制器内的 Service::model()->findAllAttributes() 合并,然后将其传递给视图文件
所以基本上我有 2 个不同的下拉列表,例如,A 有 10 个选项,B 有 10 个选项。
我怎样才能将它们都放在一个下拉列表中?例如,A 的前 10 个选项和 B 的后 10 个选项?
下面是下拉 A:
<?php echo $form->labelEx($model,'clientPackagedService_id'); ?>
<?php $client = Client::model()->findByPk(1);?>
<?php echo $form->dropDownList($model, 'clientPackagedService_id', CHtml::listData($client->clientPackagedservices(array('condition'=>'client_id='.$client->id.' AND booking_id IS NULL')),'id','packagedServiceInfo'),
array('disabled'=>'disabled', 'prompt'=>'Select Packaged Service...')
); ?>
<?php echo $form->error($model,'clientPackagedService_id'); ?>
下面是下拉列表 B:
<?php echo $form->labelEx($model,'service_id'); ?>
<?php echo $form->dropDownList($model, 'service_id', GxHtml::listDataEx(Service::model()->findAllAttributes(null, true)),
//array( 'prompt'=>'Select Service...')
array( //
//'disabled'=>$disabledValue, //
'enabled'=>true,
'prompt' => 'Select service...',
'ajax' => array( 'type'=>'POST', //request type
'url'=>CController::createUrl('updateMasseuseAndStationListSID'), //url to call.
'data'=>array('service_id'=>'js:this.value', 'dt'=>'js:$("#Booking_date").val()', 'timeStart'=>'js:$("#Booking_timeStart").val()'),
'dataType'=>'json',
'success'=>'js:function(data) {
//alert(data.masseuse);
var mass="#'.CHtml::activeId($model, 'masseuse_id').'";
$(mass).html(data.masseuse);
$(mass).trigger("chosen:updated");
$(mass+"_chzn").css("width","300px");
$(mass+"_chzn > .chzn-drop").css("width","298px");
var station="#'.CHtml::activeId($model, 'station_id').'";
$(station).html(data.station);
$(station).trigger("chosen:updated");
$(station+"_chzn").css("width","300px");
$(station+"_chzn > .chzn-drop").css("width","298px");
//alert(data.timeEnd);
var timeEnd="#'.CHtml::activeId($model, 'timeEnd').'";
$(timeEnd).val(data.timeEnd);
}',
)
)); ?>
<?php echo $form->error($model,'service_id'); ?>
我怎样才能加入它们,然后保持与Ajax相同的操作?
请指教。提前致谢。
将 clientPackagedservices() 的结果与控制器内的 Service::model()->findAllAttributes() 合并,然后将其传递给视图文件