显示 - 隐藏取决于选择选项

时间:2012-02-24 03:18:53

标签: jquery

这似乎很简单,但这不起作用。这个想法是在span标签中显示某些内容,具体取决于select语句..它可以隐藏跨度,但不会显示跨度。有什么我想念的吗?

这是select语句,其值为1或0

<SELECT NAME="myname" id="showdesc">
    <OPTION VALUE="1">Yes</OPTION>
    <OPTION VALUE="0" >No</OPTION>
</SELECT>
<span id="secret">Some content</span>

以下是在select语句中查找值的jquery

jQuery(document).on('change', '#showdesc', function() {
    if(jQuery(this).val() == '1'){
        jQuery('span').show('#secret');
    }else{
        jQuery('span').remove('#secret')};
});

2 个答案:

答案 0 :(得分:2)

您正在使用show方法不正确。

首先 ,选择合适的元素。

然后 ,应用show / hide jQuery方法:


变化:

if(jQuery(this).val() == '1')
{
    jQuery('span').show('#secret');
}
else
{
    jQuery('span').remove('#secret')
};

要:

if(jQuery(this).val() == '1')
{
    $('#secret').show();
}
else
{
    $('#secret').hide();
};

jQuery.show( [duration] [, easing] [, callback] )

答案 1 :(得分:1)

您正在调用.remove,它将从DOM中删除该元素,当您随后要显示该元素时,该项目将不可用。

相反,请尝试:

jQuery('#secret').show();
jQuery('#secret').hide();