Переключить div на основе множественного выбора - PullRequest
1 голос
/ 23 октября 2011

Следующий код - это то, с чем я работаю:

<select id="tables" multiple="multiple" name="tables[]">
      <option>users</option>
      <option>options</option>
      <option>posts</option>
</select>

<div id="something" style="hidden">Stuff goes here.</div>

То, что я пытаюсь сделать, это переключить div, когда в раскрывающемся списке выбран определенный параметр.Например, если выбран только параметр «options», показывается div.Отменено, оно удаляется.

Ответы [ 3 ]

2 голосов
/ 23 октября 2011

Рабочий раствор: http://jsfiddle.net/uA7XD/

JS:

window.changeHandler = function() {
    var op = $("#tables option[value='options']:selected");
    if (op.length)
        $("#something").show();
    else
        $("#something").hide();
}

HTML:

<select id="tables" multiple="multiple" name="tables[]" onchange="changeHandler()">
      <option>users</option>
      <option>options</option>
      <option>posts</option>
</select>

<div id="something" class="hidden">Stuff goes here.</div>

CSS:

.hidden {
    display:none;
}
1 голос
/ 23 октября 2011
$('#tables').change(function(e){
  $('#something').toggle($(this).val() == 'options');
});

При изменении выбора показать / скрыть div, если значение выбранного параметра равно «options»

Обновление для множественного выбора:

$('#tables').change(function(e){
    $('#something').toggle($('option[value="options"]:selected',this).length > 0);
});

Обновленная демоверсия: http://jsfiddle.net/NXHnp/1/

0 голосов
/ 23 октября 2011
  $('#tables').live('click', function(){
    if($('#tables').val() == 'options')
      $('#something').slideDown();
    else
      $('#something').slideUp();
  });
...