无线电组显示选定值jQuery上的项目

时间:2014-11-28 11:39:27

标签: javascript jquery

有一个无线电组在改变时想要显示arrt包含所选无线电值的标签,这里是我的代码

<label class="radio"><input name="tour_type" type="radio" value="reg" />Regular</label>
<label class="radio"><input type="radio" name="tour_type" value="div" />Diving</label>
<label class="radio"><input type="radio" name="tour_type" value="qud"  />Quad</label>
<label class="radio"><input type="radio" name="tour_type" value="prv" />Privat</label>

<label class=" priceswrapper" style="display:none;" tour_type="reg, div">Pax<input type="text" /></label>
<label class=" priceswrapper" style="display:none;" tour_type="reg, div">Kids<input type="text" /></label>
<label class=" priceswrapper" style="display:none;" tour_type="reg, div">Intro Dive<input type="text" /></label>
<label class=" priceswrapper" style="display:none;" tour_type="reg, div">Professional Dive<input type="text" /></label>
<label class=" priceswrapper" style="display:none;" tour_type="qud">Single quad<input type="text" /></label>
<label class=" priceswrapper" style="display:none;" tour_type="qud">Doubble quad<input type="text" /></label>
<label class=" priceswrapper" style="display:none;" tour_type="qud">Private quad<input type="text" /></label>
<label class=" priceswrapper" style="display:none;" tour_type="prv">Private<input type="text" /></label>

这是我的jQuery代码

$('input[name=tour_type]').change(function(){
        var tour_type= $(this).val();

        $('.priceswrapper', function(){
            var prices_attr = [$(this).attr('tour_type')];
            if ($.inArray(tour_type, window.prices_attr) !== -1){
                $(this).show();
                }


            });
        });

2 个答案:

答案 0 :(得分:2)

尝试此操作:更改单选按钮时使用priceswrapper遍历所有.filter()。检查tour_type的值,如果存在,则使用.show()

将其显示
$(function(){
  $('input[name=tour_type]').change(function(){
       var tour_type= $(this).val();
    $('.priceswrapper').hide();
    $('.priceswrapper').filter(function(){
       var tourType = $(this).attr('tour_type');
       return tourType.indexOf(tour_type)!=-1;
    }).show();
  });
});

<强> DEMO

答案 1 :(得分:0)

试试这个: -

$('input[name=tour_type]').change(function(){
    var tour_type= $(this).val();

    var divs = $('.priceswrapper')
    $.each(divs, function(index,item){

        if($(item).attr('tour_type').split(',').indexOf(tour_type)){
        $(item).show();
        }else{
         $(item).hide();
        }

        });
    });

演示: - http://jsfiddle.net/shrshcqn/