选择选项更改时隐藏div

时间:2017-12-04 02:58:11

标签: jquery

我正在尝试进行div显示,直到select选项发生变化,此时div只会在我将select更改为选项2,然后再返回选项1时显示。 这是我的代码片段

<select id="selectchange" name="id">
    <option class="1">Show by default</option>
    <option class="2">Hidden</option>
</select>

$("#selectchange").change(function () {
    var selectBox = $("#selectchange");
    var selected = $("#selectchange option:selected");

    if( selected.attr("class") == '1' )
    {
        var optionPrice = $('option:selected', this).attr('data-price');
        var optionPriceSale = $('option:selected', this).attr('data-price-sale');
        $('.showthistext').show();
        $('[itemprop="price"] .money').text( optionPrice );
            {% if variant.compare_at_price > variant.price %} 
        $('.was_price .money').text( optionPriceSale ); 
            {% endif %}
    }
    else if ( selected.attr("class") == '2' )
    {
        var optionPrice = $('option:selected', this).attr('data-price');
        var optionPriceSale = $('option:selected', this).attr('data-price-sale');

        $('.showthistext').hide();
        $('[itemprop="price"] .money').text( optionPrice );
            {% if variant.compare_at_price > variant.price %} $('.was_price .money').text( optionPriceSale );
            {% endif %}
    }
    else {
        console.log('Invalid Option');
    }  
});

2 个答案:

答案 0 :(得分:1)

也许这就是你要找的东西 示例代码如下:

$("#selectchange").on("change",function(){
    var optClass    = $("option:selected", this).attr("class");
    var showthis    = $(".showthistext");

    if(optClass == 1){
        showthis.show();
    }else{
        showthis.hide();
    }
});

Jsfiddle:https://jsfiddle.net/synz/18v1h6gu/

答案 1 :(得分:0)

只需创建一个名为hidden的类,并为其指定opacity = 0和visibility = false。

然后使用jquery根据选项选择来分配和删除类....

.hidden{
    Opacity:0;
    Visibility:false;
}

$('div').addClass('.hidden');

$('div').removeClass('.hidden');

很抱歉,如果我手机上的格式有点奇怪。