我有一个下拉列表,在选择一个值时,会发生一个 ajax 调用,并且应该填充一个文本框。基本功能正在工作(因为它调用了我的控制器中查找值的函数),但我似乎无法获取文本框的值来显示检索到的值。
而不是像这样出现的文本框 HTML 代码(假设 100.00 是返回值)
<input name="data['Visit']['room_rate'] type="text" id="VisitRoomRate" value="100.00"></input>
它正在更新(值在输入标签之间,未设置为值 =“100”)
<input name="data['Visit']['room_rate'] type="text" id="VisitRoomRate">100.00</input>
这是视图中的代码显示检索到的值
//get_room_rate.ctp
<?php echo $room_rate; ?>
这是ajax调用的代码
$this->Js->get('#VisitRoomId')->event('change',
$this->Js->request(array(
'controller'=>'visits',
'action'=>'getRoomRate'
), array(
'update'=>'#VisitRoomRate',
'async' => true,
'method' => 'post',
'dataExpression'=>true,
'data'=> $this->Js->serializeForm(array(
'isForm' => false,
'inline' => true
))
))
);
编辑我让它工作了,虽然我不确定这是否是正确的方法
我改变了我的表格,所以房价输入是在这样的 div 中
?><div id="room_rate_update"><?php
echo $this->Form->input('room_rate', array('label' => 'Room Rate (numbers only)'));
?></div><?php
然后在显示新数字的视图中,我将其交换为输入,如下所示
<label for="VisitRoomRate">Room Rate </label>
<input name="data[Visit][room_rate]" maxlength="10" type="text" id="VisitRoomRate" required="required" value="<?php echo $room_rate; ?>"></input>