javascript - 如何使用jquery从选项中删除 "selected"属性

标签 javascript jquery jquery-ui jsp

当我取消选中此选项时,我想从选项元素中删除“选定”属性。我不想让 value 为 false 或任何东西...我只想删除这个属性。我的代码就像

$(function() {
  $("#deployselect").multiselect({
    click: function( event, ui ) {
      if(ui.checked==false){
        $("#deployselect option[value='"+ui.value+"']").removeAttr("selected");
      }
    }
  });
});

我生成的HTML是这样的

<option value="68" selected>A1</option>
<option value="49" selected>A2</option>
<option value="69" selected>A3</option>

所以即使我将“attr”或“prop”设为 false,它也不起作用。 :(

最佳答案

如果您想取消选择它,请更改此行:

$("#deployselect option[value='"+ui.value+"']").removeAttr("selected");

$("#deployselect option[value='"+ui.value+"']").prop("selected", false);

Live Example | Source

(假设 jQuery 1.6 或更高版本;对于早期版本,请将 prop 更改为 attr。)

一旦 HTML 被解析为 DOM,option elementa property called selected它从 HTML 中的 selected 属性获取初始值(默认为 false)。因此,一旦您处理 DOM 元素,您处理的是 bool 属性,而不再是属性。

关于javascript - 如何使用jquery从选项中删除 "selected"属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13858077/

相关文章:

jquery-ui - 如何监听 Marionette.ItemView 中的 jquery-ui 事件

javascript - Nodejs 运行 Promise 但仍然 Undefine 不是一个函数

javascript - 运行 N 个带有并行限制的 Promise

asp.net-mvc - 具有相同类的多个元素使 jquery click 事件多次触发

javascript - 用于月份和年份选择的 jQuery UI DatePicker 不起作用

Jquery Draggable 不适用于 chrome 和 opera

javascript - 将 Javascript 变量传递给 Rails 路径

javascript - Webdriver.io 比较运算符

javascript - 如何在 JS 或 jQuery 中打印数组的字段

javascript - 迭代数组以将值添加到幻灯片