我有一個下拉列表(yii框架),我想更改其選定的值。 這是下拉列表:用jquery更改下拉列表的選定值
<?php
$t = is_null($dataProvider[$key]['room']) ? 'NA' : $dataProvider[$key]['room'];
echo 'Room Number : ' . CHtml::dropDownList(Rooms::model(), 'roomID', CHtml::listData(Rooms::model()->findAll(array(
'condition' => 'status = :status or roomID = :roomID',
'params' => array(
':status' => 'ready',
':roomID' => $dataProvider[$key]['room']
)
)), 'roomID', 'roomID'), array('id' => 'room', 'class' => 'ui-widget-content', 'empty' => 'NA',
'options' => array($t => array('selected' => true))))
;
?>
現在這個下拉列表是父母的孩子,我想克隆這樣我就可以再次使用它,所以我用這個克隆它:
var test =$("#users-contain").children(':last').clone(true,true);
test.children("#room option[value='3']").attr('selected', 'selected');
test.children('table').children('tbody').children('tr').empty();
var inner = test.clone(true,true);
我將使用var inner來更改元素中的一些內容並將其克隆到頁面上。 現在,這裏是我的問題,我的新克隆這是VAR測試,我想改變的下拉列表中的選擇的價值,但它並沒有在所有的工作,我想這:
test.children("#room option[value='3']").attr('selected', 'selected');
和這樣的:
test.children('#room').val(3);
沒有什麼工作,我也試過,我不記得其他的事情,但是我要指出,使用最後一個,當我與調試它:
console.log(test.children("#room").val());
它OUTP值爲'3',這是正確的,但是當我在頁面上顯示它時,舊下拉列表中的選定值不會改變。 這是結果:
<select id="room" class="ui-widget-content" name="">
<option value="">NA</option>
<option value="1">1</option>
<option value="2" selected="selected">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
</select>
在此先感謝您。
謝謝你,它的工作=) – user1438230 2012-08-11 12:21:59