Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/google-chrome/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript JQuery如何区分具有option selected属性的select选项和不具有selected值的select选项_Javascript_Jquery - Fatal编程技术网

Javascript JQuery如何区分具有option selected属性的select选项和不具有selected值的select选项

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

我正在用Web服务填充multiple select。 此web服务正在返回所选值

好吧,现在要渲染它们,我有两个不同的选择

如何识别select何时真正选中了选项?

不使用:selected查找选定状态,您可以查找[selected],它将检查选定属性

$("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"