无法删除所选的="已选择"来自选择选项

时间:2017-04-12 19:22:28

标签: jquery

我想删除所选的部分="选择"从选择框中。

这是选择框

<select id="editsite_TREE_PARENT_ID" name="newsite_TREE_PARENT_ID" class="form-control input-medium">
          <option value="ROOT">root</option>
          <option value="1" selected="selected">index</option>
          <option value="2">impressum</option>                                                          
</select>

这就像我试图这样做,但它不会工作 - 没有任何反应,我不知道为什么?“

$("#editsite_TREE_PARENT_ID").find("option:selected").removeAttr("selected");'

更改为

$("#editsite_TREE_PARENT_ID").find("option[selected]").removeAttr("selected");

解决问题,但现在我遇到了一个新问题。

删除选项并为选项设置新选项后,当前选项将不会在下拉框中显示为选中(在酸性代码中但不显示)。我的意思是该选项不是预选的。可能是什么原因?

3 个答案:

答案 0 :(得分:0)

它可能没有做任何事情,因为所选属性基于下拉列表中的活动/当前选择,这不会改变(行为可能取决于浏览器)。如果要更改它,请尝试将所选索引切换为您想要的索引。所以像这样:

$("#editsite_TREE_PARENT_ID").val(0)

jquery参考:

http://api.jquery.com/val/

答案 1 :(得分:0)

如果当前选择了具有所选属性的选项,那么这应该有效,但如果没有选择它,则无效 :selected选择器查找当前选定的选项,而不是具有所选属性的选项。

$("#editsite_TREE_PARENT_ID").find("option[selected]").removeAttr("selected");

答案 2 :(得分:0)

工作正常。

&#13;
&#13;
$("#target").click(function() {
  $("#editsite_TREE_PARENT_ID").find("option:selected").removeAttr("selected");
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.2.3/jquery.min.js"></script>
<select id="editsite_TREE_PARENT_ID" name="newsite_TREE_PARENT_ID" class="form-control input-medium">
          <option value="ROOT">root</option>
          <option value="1" selected="selected">index</option>
          <option value="2">impressum</option>                                    
</select>
<br><br>
<div id="target">click me</div>
&#13;
&#13;
&#13;