0

我有两个选择列表,我希望 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>

如果选择团体预订或菲利普湾鲷鱼包机,我只需要显示“团体预订”。(基本上隐藏“个人预订”)但我似乎无法让它工作..如果有人可以帮助我,那就太好了!:)

我也尝试过使用开关,但这也不起作用..

/* 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;
  };

它发出警报,但没有做任何其他事情..

4

2 回答 2

2

这将做你需要的

<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

于 2010-03-15T05:49:13.717 回答
2

您可以使用

jQuery('#booking').val()获取选定的值。

您可以在此处查看示例。

于 2010-03-15T05:26:28.267 回答