我想一个函数被执行,如果一个特定的选择选项是可见的。我尝试了以下代码:
if ($(("#daychoise option[value='monday2']").is(':visible'))) { }
这不起作用,我在控制台中得到以下错误:未捕获的类型错误:对象#daychoise option[value='monday2']没有方法'is'那么,如何检查选择选项是否可见?先谢谢你了
j13ufse21#
选择器错误!你应该使用这个:
if ($("#daychoise option[value='monday2']").is(':visible')) { }
olqngx592#
你可能是说这个
if (($("#daychoise option[value='monday2']").is(':visible'))) { }
注意$的位置
$
xfb7svmp3#
你可以这样吃
<select id="selectbox"> <option value="0">sunday</option> <option value="1">monday</option> <option value="2">Tuesday</option> <option value="3">Wednesday</option> <select>
在jquery中你可以写为
<script> $(document).ready(function(){ if($("#selectbox").val() == 1){ // do something } }); </script>
1bqhqjot4#
如果要检查是否在多个选择框中选择了某个值
<select multiple>...</select>
你应该这样做:
if ($.inArray('monday2', $("#daychoise").val()) !== -1) { }
vecaoik15#
请尝试:
$(("#daychoise option[value='monday2']").change(function(){ if($(this).is(':visible')){ //do what you want } });
ijnw1ujt6#
当使用:visible选择器测试option元素的状态时,该元素总是返回false,因为该元素不占用DOM中的空间。如果使用hide()隐藏option元素,则可以检索display属性的CSS值:
$('#daychoise option[value="monday2"]').hide(); if($('#daychoise option[value="monday2"]').css('display') == 'none') { alert('monday2 is hidden'); } else { alert('monday2 is visible'); }
6条答案
按热度按时间j13ufse21#
选择器错误!你应该使用这个:
olqngx592#
你可能是说这个
注意
$
的位置xfb7svmp3#
你可以这样吃
在jquery中你可以写为
1bqhqjot4#
如果要检查是否在多个选择框中选择了某个值
你应该这样做:
vecaoik15#
请尝试:
ijnw1ujt6#
当使用:visible选择器测试option元素的状态时,该元素总是返回false,因为该元素不占用DOM中的空间。如果使用hide()隐藏option元素,则可以检索display属性的CSS值: