jquery 如果选项值可见

pbpqsu0x  于 2023-06-29  发布在  jQuery
关注(0)|答案(6)|浏览(129)

我想一个函数被执行,如果一个特定的选择选项是可见的。我尝试了以下代码:

if ($(("#daychoise option[value='monday2']").is(':visible'))) {

}

这不起作用,我在控制台中得到以下错误:
未捕获的类型错误:对象#daychoise option[value='monday2']没有方法'is'
那么,如何检查选择选项是否可见?
先谢谢你了

j13ufse2

j13ufse21#

选择器错误!你应该使用这个:

if ($("#daychoise option[value='monday2']").is(':visible')) {

}
olqngx59

olqngx592#

你可能是说这个

if (($("#daychoise option[value='monday2']").is(':visible'))) {

}

注意$的位置

xfb7svmp

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>
1bqhqjot

1bqhqjot4#

如果要检查是否在多个选择框中选择了某个值

<select multiple>...</select>

你应该这样做:

if ($.inArray('monday2', $("#daychoise").val()) !== -1) {

}
vecaoik1

vecaoik15#

请尝试:

$(("#daychoise option[value='monday2']").change(function(){
    if($(this).is(':visible')){
             //do what you want
    }
});
ijnw1ujt

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');
}

相关问题