关于使用jQuery设置HTML选择选项的问题
Issue on Setting HTML Select Option Using jQuery
我试图在这个演示中动态更改列表选项中的所选项目,但它不起作用。
<select id="selItems" class="selectpicker">
<option>Select From List</option>
<option>Mustard</option>
<option>Ketchup</option>
<option>Relish</option>
</select>
<p>
<button id="setdefault" type="submit" class="btn">Set Default</button>
<script>
$("#setdefault").on("click", function () {
$("#selItems option:eq(2)").attr("selected", "selected");
});
</script>
你能告诉我我做错了什么吗?
尝试使用prop
而不是attr
:
$("#setdefault").on("click", function () {
$("#selItems option:eq(2)").prop("selected", true);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select id="selItems" class="selectpicker">
<option>Select From List</option>
<option>Mustard</option>
<option>Ketchup</option>
<option>Relish</option>
</select>
<p>
<button id="setdefault" type="submit" class="btn">Set Default</button>
Bootstrap Select有一个实现这一点的方法。您不应该手动操作属性,因为页面中显示的元素无论如何都不是原始的select元素。
$("#setdefault").on("click", function () {
$("#selItems").selectpicker('val', 'Ketchup');
});
演示
http://silviomoreto.github.io/bootstrap-select/#methods
您的代码不能按预期工作有几个原因。
您正在选择元素上设置点击事件,而不是在"设置默认值"按钮上。
您实际的select元素在页面上不可见,因为它正被您正在使用的jquery插件所替换。。因此,即使您设置了select的selected属性,您也不会在页面上看到它。
您应该参考该插件的文档来了解它是如何使用的。
尝试切换
$("#setdefault").on("click",function(){
$("#selItems option:eq(3)").attr("selected", "selected");
});
至
$("#setdefault").on("click",function(){
$("#setdefault option:eq(3)").attr("selected", "selected");
});
只需使用val()
:
$("#setdefault").on("click", function() {
$("#selItems").val("Mustard");
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select id="selItems" class="selectpicker">
<option>Select From List</option>
<option>Mustard</option>
<option>Ketchup</option>
<option>Relish</option>
</select>
<p>
<button id="setdefault" type="submit" class="btn">Set Default</button>
相关文章:
- 如果选项被禁用,则多个下拉菜单会导致FIREFOX出现问题
- AngularJS$作用域在选项卡集中出现问题
- jQuery选项卡出现问题
- 离子事件-支架处于保留/选项卡上父/子问题
- 使用 ajax 填充选择时没有选定的默认选项的问题
- Jquery Resize问题.如果宽度小于768宽度,请启用“单击选项”.768以上鼠标悬停选项启用
- Magento自定义选项-清除输入字段问题
- 非活动选项卡容器内的选定宽度问题
- $SlideDuration选项的Jssor滑块问题
- 从不同选项卡打开时出现Javascript弹出问题
- 赛道的拉力赛问题->交叉发布跟踪选项
- CRM 2011+问题与javascript中的两个选项集
- 启动选项卡的MixItUp问题
- 单击后使用.not()限制选项时出现问题
- (jQuery)foreach-loop 内的选项卡 ->一个页面上多个选项卡的问题
- 没有选项的表问题
- Jquery 选项卡在 Jcarousel 中不起作用.我该如何解决这个问题
- 烤面包机-选项问题
- 具体化选择设置动态选项问题
- 使用视差效果,'Active'导航选项问题