Javascript Yii,将下拉列表值复制到隐藏下拉列表
基本上,我想知道如何将原始下拉列表值复制到隐藏下拉列表中 因为目前我有一个单选按钮,它可以禁用某个下拉值,但该值不会在PHP中发布。因此,我在一个隐藏字段中添加了与原始下拉列表相同的名称,但当它重新启用时,该字段不会复制其值 这就是我所拥有的:Javascript Yii,将下拉列表值复制到隐藏下拉列表,javascript,php,jquery,html,yii,Javascript,Php,Jquery,Html,Yii,基本上,我想知道如何将原始下拉列表值复制到隐藏下拉列表中 因为目前我有一个单选按钮,它可以禁用某个下拉值,但该值不会在PHP中发布。因此,我在一个隐藏字段中添加了与原始下拉列表相同的名称,但当它重新启用时,该字段不会复制其值 这就是我所拥有的: <div class="row"> <?php echo $form->labelEx($model,'clientPackagedService_id'); ?> <?php $client = Cl
<div class="row">
<?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....',
'ajax' => array( 'type'=>'POST', //request type
'url'=>CController::createUrl('updateMasseuseAndStationListPSID'), //url to call.
'data'=>array('clientPackagedService_id'=>'js:this.value', 'dt'=>'js:$("#Booking_date").val()', 'timeStart'=>'js:$("#Booking_timeStart").val()'),
'dataType'=>'json',
'success'=>'js:function(data) {
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,'clientPackagedService_id'); ?>
</div><!-- row -->
<div>
<?php echo $form->hiddenField($model, 'clientPackagedService_id'); ?>
</div>
我给hiddenField的名称是否与我原来的下拉列表相同?如果是,那么重新启用时,如何将原始下拉列表的值复制到hiddenField中 您可以随时检查值是否已过账,如果是,则执行所需的功能。否则,就不说了。在我的例子中,我有一个函数需要这个值。因此,我在actionCreate中添加了一个复选框 这是我的代码:
if( isset($_POST['Booking']['clientPackagedService_id']) ){
$model->bookService($_POST['Booking']['clientPackagedService_id']);
$transaction->commit();
}
else {
$transaction->commit();
}
感谢@Masiorama的评论。如果他不发表评论,我就不会得到它 有人能帮我吗?有必要按单选按钮吗?如何在dropdownlist中添加另一个值,以便在控制器中可以使用if block或so进行检查。如果$\u POST['Client']['clientPackagedService\u id']={/*不保存字段*/}是,则必须使用单选按钮。否则它就没有意义了。我不明白为什么,如果从select中禁用该值,您仍然希望将该值本身发布到服务器。。。这是因为我的actionCreate中有一个函数需要该字段,而禁用它会给我一个错误500未定义索引。这就是为什么我需要它至少向服务器发布一个null。
if( isset($_POST['Booking']['clientPackagedService_id']) ){
$model->bookService($_POST['Booking']['clientPackagedService_id']);
$transaction->commit();
}
else {
$transaction->commit();
}