如果所选选项的标题等于div的classname

时间:2016-05-25 13:55:19

标签: jquery

您好我发现很多关于"选择的选项等于",但我没有设法解决以下问题。如果他们的类名等于所选选项的标题,则该想法是仅显示div。



<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select name="group_5" id="group_5" class="form-control attribute_select no-print">
  <option value="bitte" selected="selected" title="fake">Bitte wählen</option>
  <option value="35" title="Stoffbeutel">Stoffbeutel 28</option>
  <option value="36" title="Plastikbeutel">Plastikbeutel 28</option>
</select>

<div class="lagerbestand-attribute">
  <div class="Stoffbeutel"> Stoffbeutel: 5 Stücke</div>
  <div class="Plastikbeutel"> Plastikbeutel: 5 Stücke</div>
</div>
&#13;
&#13;
&#13;

这可以用jquery吗?请注意,我无法使用直接解决方案:if($(this).val()==&#39; Stoffbeutel&#39;)

我在标题oder classname ...

的帮助下以某种方式需要它

2 个答案:

答案 0 :(得分:2)

使用jquery这是相当简单的。隐藏两个div,当下​​拉列表更改时找到适当的一个以显示和隐藏所有其他div。

&#13;
&#13;
$('.lagerbestand-attribute div').hide();
$('select').change(function(){
    $('.lagerbestand-attribute div.' + $(':selected',this).attr('title')).show().siblings().hide();
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select name="group_5" id="group_5" class="form-control attribute_select no-print">
  <option value="bitte" selected="selected" title="fake">Bitte wählen</option>
  <option value="35" title="Stoffbeutel">Stoffbeutel 28</option>
  <option value="36" title="Plastikbeutel">Plastikbeutel 28</option>
</select>

<div class="lagerbestand-attribute">
  <div class="Stoffbeutel"> Stoffbeutel: 5 Stücke</div>
  <div class="Plastikbeutel"> Plastikbeutel: 5 Stücke</div>
</div>
&#13;
&#13;
&#13;

答案 1 :(得分:0)

非常简单,就像

一样
$('.lagerbestand-attribute div').hide();
$('#group_5').change(function(){
    var $lagerbestand =  $('.lagerbestand-attribute').find('div').hide().end();
    $lagerbestand.find("."+$(this).find("option:selected").attr('title')).show();
});

代码中实际发生的是:

  • 首先隐藏所有div控件
  • 然后选择更改从所选选项中查找title属性并显示相应的部分