JQuery, пытаясь проверить одно или другое поле на основе того, что выбрано - PullRequest
0 голосов
/ 25 июня 2010

Я пытаюсь настроить форму, в которой пользователь должен выбрать опцию из выбора или ввести значение во вход.Нужно обязательно, но не оба.Я пытался написать оператор if else

, если выбрано государство, затем удалить класс по провинции, если провинция заполнена, удалить класс по состоянию

$("#state").bind('change' , function() {
     if ( $(this).is(':selected') ) {
          $(this).parents('.foreign').removeClass("required");
      }  
      else{
      $(#province).is(':filled');
      $(this).parents('.usa').removeClass("required");
          }  
});

Но я знаю, чтоне как это сделать.Надеюсь, кто-то поймет, что я пытаюсь сделать.заранее спасибо!По сути, вы можете выбрать то или иное, но не оба.

1 Ответ

1 голос
/ 25 июня 2010

От верха моей головы, попробуйте это:

<select id="state_province">
   <option value="state">State</option>
   <option value="province">Province</option>

$('#state_province').bind('change', function() {
   if($('option:selected', this).val() == 'state') {
      $('option[value=state]', this).show().addClass("required");
      $('option[value=province]', this).hide().removeClass("required");
   } else {
      $('option[value=province]', this).show().addClass("required");
      $('option[value=state]', this).hide().removeClass("required");
   }
});

Редактировать на основе вашего комментария:

Ах, вы хотите что-то вроде: (извините, я делаю это по памяти, поэтому возможны твики)

<select id="state" class="state_province">
...
</select>

<input type="text" id="province" class="state_province" />

===

$('.state_province').bind('change', function() {
   var jThis = $(this);
   if ( jThis.is('select:selected') ) { // state selected
      jThis.addClass("required");
      $('input.state_province').removeClass("required");
      $(this).parents('.usa').addClass("required");
   }
   if ( jThis.is('input:filled') ) { // province filled
      jThis.addClass("required");
      $('select.state_province').removeClass("required");
      $(this).parents('.usa').removeClass("required");
   }
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...