val(“text”)未将选项设置为选中

时间:2012-11-01 21:11:01

标签: javascript jquery html jquery-mobile

我正在尝试使用$('#mySel').val('1.5');更改此选择的值我发现有几个地方建议这样做。但由于某种原因,它似乎不起作用,而只是选择第一个选项0.5。有谁知道为什么这不起作用?或者可能有什么用呢?这是我正在使用的代码。

$('#mySel').val('1.5');
$('#courseset').trigger('create');

<select name="hours" id="mySel" data-mini="true" >
   <option value="0.5" >0.5</option>
   <option value="1.0" >1.0</option>
   <option value="1.5" >1.5</option>
   <option value="2.0" >2.0</option>
   <option value="2.5" >2.5</option>
   <option value="3.0" >3.0</option>
   <option value="3.5" >3.5</option>
   <option value="4.0" >4.0</option>
   <option value="4.5" >4.5</option>
   <option value="5.0" >5.0</option>
   <option value="5.5" >5.5</option>
   <option value="6.0" >6.0</option>
   <option value="6.5" >6.5</option>
   <option value="7.0" >7.0</option>
   <option value="7.5" >7.5</option>
   <option value="8.0" >8.0</option>
   <option value="8.5" >8.5</option>
   <option value="9.0" >9.0</option>
   <option value="9.5" >9.5</option>
   <option value="10.0" >10.0</option>
   <option value="10.5" >10.5</option>
   <option value="11.0" >11.0</option>
   <option value="11.5" >11.5</option>
   <option value="12.0" >12.0</option>
</select>

4 个答案:

答案 0 :(得分:1)

$("#mySel option").filter(function() {
    return $(this).text() == '1.5';
}).prop('selected', true);

答案 1 :(得分:1)

这应该与选项字段匹配,而不知道它在DOM中的位置

$('#mySel option[value="1.5"]').attr('selected', 'selected');

答案 2 :(得分:0)

尝试使用.attr(“已选择”,“已选择”。

您也可以使用nth-child选择该选项,在您的情况下,您可以尝试以下操作:

$("#mySel :nth-child(3)").attr('selected', 'selected'); //selected option value=1.5

答案 3 :(得分:0)

您是否正在使用Jquery Mobile 1.2.0?我们遇到了完全相同的问题,并且在恢复到1.1.0时发现它已得到修复。

(道歉,这是一个问题/评论而非答案。)