Отображение / скрытие div в зависимости от значения Select

0

Еще раз, у меня возникают проблемы с JQuery (я улучшаю его, хотя!), Я пытаюсь это сделать, когда я изменяю выбранный параметр вкладки "", он будет показывать соответствующий вход к выбранному параметру и скрыть все остальные.

это то, что я получил до сих пор;

    <script type='text/javascript'>
$(document).ready(
    function()
    {
      $('select').prop("selectedIndex", -1);
      var showSomeClass = $('#placeholder_type').val();
      $('#changling').children().addClass('hidden');
      if($('#changling').children().attr('id') == showSomeClass)
      {
          $(this).removeClass('hidden');
      }
      else
      {
          $(this).addClass('hidden');
      }
    });
</script>

но это не совсем то, как я тоже это хочу... Я думаю, что он, вероятно, имел какое-то отношение к тому факту, что я прихожу к этому как к PHP вместо Javascript.

Теги:

1 ответ

0
Лучший ответ

Вы можете привязать .change() к элементу <select>, например:

$(document).ready(function() {
    // Hide all #changling children onload
    $('#changling > input').addClass('hidden');

    // Bind change event to <select> element
    $('#placeholder_type').change(function() {

        // Hide everything first
        $('#changling > input').addClass('hidden');

        // And then decide which one to display
        var opt = $('#placeholder_type option:selected').val();
        $('#changling').children('#' + opt).removeClass('hidden');
    });
});

Примечание. Я добавил атрибут placeholder к вашим полям "звезд" и "корабль", чтобы вы могли видеть, что опция выбора действительно показывает соответствующие поля ввода :)

См. Обновленную скрипку здесь - http://jsfiddle.net/teddyrised/dFhz5/3/

  • 0
    Спасибо, Терри! Это прекрасно работает!
  • 0
    @ user1030841 Возможно, стоит взглянуть на отступ для вашего кода для лучшей читабельности;) и добро пожаловать :)
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню