当我取消选中此选项时,我想从选项元素中删除“选定”属性。我不想让 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);
(假设 jQuery 1.6 或更高版本;对于早期版本,请将 prop
更改为 attr
。)
一旦 HTML 被解析为 DOM,option
element有a property called selected
它从 HTML 中的 selected
属性获取初始值(默认为 false
)。因此,一旦您处理 DOM 元素,您处理的是 bool 属性,而不再是属性。
关于javascript - 如何使用jquery从选项中删除 "selected"属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13858077/