JQuery отключить / удалить опцию на выбор? - PullRequest
0 голосов
/ 15 марта 2010

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

<select name="booking" id="booking">
  <option value="3">Group Bookings</option>
  <option value="2" selected="selected">Port Phillip Bay Snapper Charters</option>
  <option value="6">Portland Tuna Fishing</option>
  <option value="1">Sport Fishing</option>
</select>

Вот второй список (который будет иметь только два значения):

<select name="charterType" id="charterType">
  <option value="1">Individual Booking</option>
  <option value="2">Group Booking</option>
</select>

Если выбраны групповые бронирования или чартеры Snapper Port Phillip Bay, мне нужно отобразить только «Групповое бронирование». (По сути, скрыть «Индивидуальное бронирование»), но я не могу заставить его работать .. Если бы кто-то мог мне помочь, это было бы здорово !! :)

Я также пытался использовать переключатель, но он тоже не работает ..

/* select list */
  switch (jQuery('#booking :selected').text()) {
    case 'Sport Fishing':
      alert('AA');
    break;
    case 'Port Phillip Bay Snapper Charters':
      jQuery("#charterType option[value=1]").remove();
      alert('BB');
    break;
    case 'Portland Tuna Fishing':
      alert('CC');
    break;
    case 'Group Bookings':
      alert('DD');
    break;
  };

Он предупреждает, но больше ничего не делает ..

Ответы [ 2 ]

2 голосов
/ 15 марта 2010

Это будет делать то, что вам нужно

<select name="booking" id="booking">
  <option value="3">Group Bookings</option>
  <option value="2" selected="selected">Port Phillip Bay Snapper Charters</option>
  <option value="6">Portland Tuna Fishing</option>
  <option value="1">Sport Fishing</option>
</select>

<select name="charterType" id="charterType">
  <option value="1">Individual Booking</option>
  <option value="2">Group Booking</option>
</select> 

Javascript

$("#booking").change(function(){
  $("#charterType").empty();
  if ( $(this).val() != "3" &&   $(this).val() != "2" ){
    $("#charterType").append ( $('<option>').text("Individual  Booking").val("1") );
  }

  $("#charterType").append ( $('<option>').text("Group Booking").val("2") );

});

См .: http://jsbin.com/ayato

2 голосов
/ 15 марта 2010

Вы можете использовать

jQuery('#booking').val() для получения выбранного значения.

Вы можете просмотреть образец здесь .

...