正如问题所说,我如何使用jQuery设置下拉列表控件的值?
当前回答
这个问题的最佳答案是:
$("#comboboxid").val(yourvalue).trigger("chosen:updated");
e.g:
$("#CityID").val(20).trigger("chosen:updated");
or
$("#CityID").val("chicago").trigger("chosen:updated");
其他回答
$("#mydropdownlist").val("thevalue");
只要确保选项标签中的值与val方法中的值匹配即可。
如果你只需要设置一个下拉列表的值,那么最好的方法是
$("#ID").val("2");
如果你必须在更新下拉列表值后触发任何脚本,比如如果你在下拉列表上设置任何onChange事件,并且你想在更新下拉列表后运行这个,那么你需要像这样使用
$("#ID").val("2").change();
设置值并更新下拉列表事件
$("#id").val("1234").change();
使用上面突出显示的/选中的答案对我有用……这里有一个小见解。 我在获取URL上作弊了一点,但基本上我是在Javascript中定义URL,然后通过jquery回答上面的设置:
<select id="select" onChange="window.location.href=this.value">
<option value="">Select a task </option>
<option value="http://127.0.0.1:5000/choose_form/1">Task 1</option>
<option value="http://127.0.0.1:5000/choose_form/2">Task 2</option>
<option value="http://127.0.0.1:5000/choose_form/3">Task 3</option>
<option value="http://127.0.0.1:5000/choose_form/4">Task 4</option>
<option value="http://127.0.0.1:5000/choose_form/5">Task 5</option>
<option value="http://127.0.0.1:5000/choose_form/6">Task 6</option>
<option value="http://127.0.0.1:5000/choose_form/7">Task 7</option>
<option value="http://127.0.0.1:5000/choose_form/8">Task 8</option>
</select>
<script>
var pathArray = window.location.pathname.split( '/' );
var selectedItem = "http://127.0.0.1:5000/" + pathArray[1] + "/" + pathArray[2];
var trimmedItem = selectedItem.trim();
$("#select").val(trimmedItem);
</script>
如果你使用索引,你可以直接用.attr()设置所选索引:
$("#mydropdownlist").attr('selectedIndex', 0);
这将把它设置为下拉列表中的第一个值。
编辑: 我上面的方法过去很管用。但现在似乎不再是了。
但正如韩寒在评论中愉快地指出的那样,正确的做法是:
$("#mydropdownlist").get(0).selectedIndex = index_here;
推荐文章
- 如何让一个按钮将我的页面重定向到另一个页面?
- 如何让元素被点击(对于整个文档)?
- 使用jQuery改变输入字段的类型
- 使用jQuery以像素为整数填充或边距值
- 检查是否选择了jQuery选项,如果没有选择默认值
- 将Dropzone.js与其他字段集成到现有的HTML表单中
- 使用jQuery滚动到一个div
- 在JS/jQuery中触发按键/按键/按键事件?
- 如何每5秒重新加载页面?
- getJSON调用中的错误处理
- 如何用jquery或javascript排序对象数组
- 下拉列表的SelectedIndexChanged事件没有触发
- 使用jQuery切换输入禁用属性
- 如何知道一个字符串开始/结束在jQuery特定的字符串?
- Twitter Bootstrap vs jQuery UI?