2012-07-23 217 views
0

比方說,我有一個使用相同的選項選擇4個選擇標籤。我想從選項中刪除選定的選項。目前我想這代碼:隱藏/從選擇選項列表中選擇多個標籤去除選擇具有相同的列表

function connect(val) 
{ 
    $(".option").show(); 
    $(".selectbox").each(function(i) { 
     var obj = $("option[value='" + $(this).val() + "']"); 
     alert(obj); 
     if($(this).val() != "") obj.remove(); 

    }); 
} 

我有這樣的選擇標籤:

for() 
{ 
<select id = "sc" name = "connect_array[]" class="input-select" onchange = "connect(this.value)"> 
for() 
{ 
<option></option> 
} 
</select> 
} 

但實際發生的事情是它不僅能消除的第一選擇和第一選擇的選項與最終當所有選擇由其他選擇標籤選擇時,沒有選擇,您仍然可以在其他選擇標籤中看到完整選項。

謝謝。

+3

我沒有看到什麼PHP與此有關。 – j08691 2012-07-23 19:37:15

+0

有一個:) – magicianiam 2012-07-23 19:38:48

+0

不是客戶端,沒有;和*客戶端*是jQuery的作用。 – 2012-07-23 19:40:29

回答

1

試試這個,所有的選擇需要有類=「選擇框」

$(".selectbox").change(function(){ 
    var selectedIndex = $(this).index(); 
    var myVal = $(this).val(); 
    $(".selectbox").each(function(i){ 
     if (selectedIndex != i){ 
      $("option", this).each(function(){ 
       if (myVal == $(this).val()) $(this).remove(); 
      }); 
     } 
    }); 
}); 
+0

我重新閱讀了我的代碼,即使您剛選擇的代碼也會被刪除。所以我修改了它,所以它應該保留選中的選項,並通過並找到其他人並刪除它們。 – 2012-07-23 20:05:08

0
$('.selectbox').change(function(){ 
     var selected_val = $(this+"option:selected").val(); 
     $(".selectbox").each(function(i) { 
      $(this+'option[value="'+selected_val+'"]').remove(); 
     }); 
    }