jQuery /以编程方式在select框中select一个选项
我目前正在使用jQuery来返回一些JSON结果。 一旦这些结果返回,我正在使用它们预填充我的表单中的字段。
不过,我需要一些帮助来预先select下拉框中的项目。 例如,我有一个select框(缩短):
<select id="startTime"> <option value="14:00:00">2:00 pm</option> <option value="15:00:00">3:00 pm</option> <option value="16:00:00">4:00 pm</option> <option value="17:00:00">5:00 pm</option> <option value="18:00:00">6:00 pm</option> </select>
如果我的JSON值是:
var start_time = data[0].start // Let's say this is '17:00:00'
我怎样才能使用jQuery,select值'17:00:00'选项?
<option value="17:00:00" selected="selected">5:00 pm</option>
更新:
从jQuery 1.9开始,jQuery已经更新了这个function。 选项的“select”状态实际上是一个属性,因此jQuery已经将其改变为使用.prop()方法。 语法非常相似,易于切换:
$('#startTime option[value=17:00:00]').prop('selected', true);
请参阅http://api.jquery.com/prop/#entry-longdesc为什么它需要传递;true
。
较老的jQuery
$('#startTime option[value=17:00:00]').attr('selected', 'selected');
要么
$('#startTime option[value='+ data[0].start +']').attr('selected', 'selected');
$('#startTime').val(start_time);
只是$("#startTime").val(start_time);
UPDATE
从jQuery 1.9开始,jQuery已经更新了这个function。 选项的“select”状态实际上是一个属性,因此jQuery已经将其改变为使用.prop()方法。 语法非常相似,易于切换:
$('option[value=17:00:00]').prop('selected', 'selected');
jquery mobile用户的附加信息(1.3.0):
这里有一个类似的例子 。
如果你用jquery 1.9.1和jquery mobile 1.3.0来试试上面的例子,你可以看到它不工作,除非你添加一个
$("#location_list").selectmenu("refresh");
请记住使用jQuery Mobile时的注意事项。 这给了我很多头痛
由于某种原因,我的作品是这样的:
$('#startTime').val(''+data[0].start+'');
var varValue="17:00:00"; $("#startTime").ready(function(){ $("#startTime option[value='"+varValue+"']").prop("selected", "selected"); });
适用于jQuery 1.10