我想在 jQuery 中执行此操作:
<option value="test" selected>...</option>
但是我尝试过的一切都给了我:
<option value="test" selected="selected">...</option>
我尝试过 .attr("selected", "")
以及 .attr("selected", true)
,但它们给出了不需要的 selected="selected"
结果。我怎样才能做到这一点?我在网上找到的所有内容都表明上述格式要么是前者,要么是后者。
最佳答案
您根本不必担心该属性,您应该更改属性
$('option').prop('selected', true);
您还可以通过更改选择的值来设置所选选项(假设它不是 multiple
)
$('select').val('test');
它在 HTML 中的外观并不重要,重要的是 DOM 中的表示形式,无论是将选项设置为选定状态还是提交其所在表单时。
<小时/>仅供引用,<option value="test" selected="selected">
根本不是不可取的,它是完全有效的并且是您通常想要的。
当 selected
属性存在,则选择该选项,无论属性值如何,即使它为空,也会选择该选项。
属性应该有值,所以 selected="selected"
很好,甚至像 selected="hello kitty"
这样的东西会选择该选项,要取消选择它,您将删除该属性,但同样,您应该更改属性!!!
关于jQuery 设置没有值的属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29480855/