Javascript JQuery如何区分具有option selected属性的select选项和不具有selected值的select选项
我正在用Web服务填充multiple select。 此web服务正在返回所选值 好吧,现在要渲染它们,我有两个不同的选择 如何识别select何时真正选中了选项?不使用:selected查找选定状态,您可以查找[selected],它将检查选定属性Javascript JQuery如何区分具有option selected属性的select选项和不具有selected值的select选项,javascript,jquery,Javascript,Jquery,我正在用Web服务填充multiple select。 此web服务正在返回所选值 好吧,现在要渲染它们,我有两个不同的选择 如何识别select何时真正选中了选项?不使用:selected查找选定状态,您可以查找[selected],它将检查选定属性 $("select").has("option[selected]") $("#select1").has("option[selected]").val() // undefined $("#select2").has("option[sel
$("select").has("option[selected]")
$("#select1").has("option[selected]").val() // undefined
$("#select2").has("option[selected]").val() // "A"
变量$selectedOption=$select1选项[selected];
如果$selectedOption.length{
//选择的选项
console.logselectedOption.val+已选择。;
}否则{
//未选择任何选项
console.logNothing已选中。;
}
选择1
选择3
方案A
方案B
您可以使用jQuery方法来查找具有带有selected属性的选项的select
$("select").has("option[selected]")
$("#select1").has("option[selected]").val() // undefined
$("#select2").has("option[selected]").val() // "A"
默认情况下,浏览器会选择第一个选项。您可以在两个标记中添加一个空标记来解决此问题。是否尝试检查选项是否具有选定的属性?@WashingtonGuedes@hasan可能知道它,多亏了@jlars62,现在我知道使用jqueryIt可以做到这一点。它不返回布尔值。它返回一个jquery对象。在我在回答中链接的页面上,它将描述为将匹配元素集减少到那些具有与选择器或DOM元素匹配的后代的元素。是的,您是对的,抱歉。尽管这让我感到奇怪——在这个例子中,如果你能让你的选择器更具体一点,跳过额外的方法,为什么还要使用.has呢?不用担心。$select2.haspoption[selected]和$select2 option[selected]之间的区别是后者返回option元素,前者返回select元素。从我对OPs问题的理解来看,他想得到select元素,我可能错了。这是真的,我想在这一点上,这是偏好的问题。
$("select").has("option[selected]")
$("#select1").has("option[selected]").val() // undefined
$("#select2").has("option[selected]").val() // "A"