1

ドロップダウンメニューで選択されているものに応じて要素を表示/非表示にしたいのですが、DIVAREA2またはDIVAREA3のいずれかが選択されているときにdivを表示したいです。たとえば、DIV エリア 4 を DiV エリア 2 と DIV エリア 3 に表示したい

here からいくつかのコードをフィドルに提供しました。これは、私がやりたいことに近いことがわかりました。jsfiddle は次のとおりです。

http://jsfiddle.net/Ayeblinken/guDsm/1/

HTML

<form>
<select id="dropdown" name="dropdown">
<option value="0">Choose</option>
<option value="area1">DIV Area 1</option>
<option value="area2">DIV Area 2</option>
<option value="area3">DIV Area 3</option>
</select>
</form>
<div id="divarea1" class="box">DIV Area 1</div>
<div id="divarea2" class="box">DIV Area 2</div>
<div id="divarea3" class="box">DIV Area 3</div>
<div id="divarea4" class="box">DIV Area 4</div>

JavaScript

$(document).ready(function() {
$('.box').hide();
$('#dropdown').change(function() {
$('.box').hide();
$('#div' + $(this).val().show();
});
});
4

2 に答える 2

3

複数表示する場合は、次のようなクラスを使用します。

<form>
<select id="dropdown" name="dropdown">
<option value="0">Choose</option>
<option value="area1">DIV Area 1</option>
<option value="area2">DIV Area 2</option>
<option value="area3">DIV Area 3</option>
</select>
</form>
<div class="box area1">DIV Area 1</div>
<div class="box area1">DIV Area 2</div>
<div class="box area2">DIV Area 3</div>
<div class="box area2">DIV Area 4</div>

JS

$(document).ready(function(){
 $('.box').hide();
  $('#dropdown').change(function() {
    $('.box').hide();
    $('.' + $(this).val()).show();
 });
});

ここにJSFIDDLEがあります:http://jsfiddle.net/mac1175/yEJL2/

編集

デフォルトで area1 を選択するにはselected、area 1 のオプションに属性を追加します。チェーン トリガー呼び出しを変更イベント ハンドラに追加します。

JS

$(document).ready(function(){
 $('.box').hide();
  $('#dropdown').change(function() {
    $('.box').hide();
    $('.' + $(this).val()).show();
 }).trigger('change');
});

JSFIDDLE: http://jsfiddle.net/mac1175/FKf9p/

于 2013-08-05T17:50:01.187 に答える
0

if文はどうですか?

$(document).ready(function(){
   $('.box').hide();
   $('#dropdown').change(function() {
      var area = $(this).val();
      $('.box').hide();
      $('#div' + area).show();
        if(area == 'area2' || area== 'area3') {
          $('#divarea4').show();
        }
   });
});
于 2013-08-05T17:53:58.627 に答える