2014-11-14 39 views
0

我有兩個下拉列表,我想禁用從下拉列表中選擇的最後一個值,並在其他下拉列表中啓用上一個值。如何獲取從下拉列表中選擇的最後一個值並使用jquery禁用它

比方說,我有兩個下拉的,如下:

<select name="g1" id="box_g1"> 
    <option value="Select">Select</option> 
    <option value="one">one</option> 
    <option value="two">two</option> 
    <option value="three">three</option> 
</select> 

<select name="g2" id="box_g2"> 
<option value="Select">Select</option> 
    <option value="one">one</option> 
    <option value="two">two</option> 
    <option value="three">three</option> 
</select> 

如果我選擇的選項:從box_g1「一」,然後「二」從box_g1試(即在同一個方塊)。那麼只有最後一個值'two'應該在下一個下拉菜單中被禁用。檢查下面撥弄:

JS Fiddle

任何幫助表示讚賞。

+0

這是一個有點不清楚,但這樣的事情 - > ** HTTP://jsfiddle.net/adeneo/mkma3803/29/** – adeneo 2014-11-14 16:18:13

+0

請檢查此琴太..我希望它在這個代碼其實.http://jsfiddle.net/rajan222000/yww8apn9/ – k00989 2014-11-14 16:27:31

+0

@ adeneo另外小提琴是無效的,你提供 – k00989 2014-11-14 17:00:40

回答

0

可以嘗試像下面

<script type="text/javascript"> 
    var g1 = [], 
     g2 = []; 
    $('#box_g1 option').each(function(){g1.push($(this).val());}); 
    $('#box_g2 option').each(function(){g2.push($(this).val());}); 

    $('#box_g1').on('change', function(){ 
     var options = '', 
      selected = $('#box_g1').val(); 
     for(var i = 0; i < g2.length; i++){ 
      if(selected != g1[i] && selected != 'Select'){ 
       options += ('<option value="'+g2[i]+'">'+g2[i]+'</option>'); 
      } 
     } 
     $('#box_g2').empty().html(options); 
    }); 
</script> 
+0

可以請你在這個小提琴上建議我:http://jsfiddle.net/rajan222000/yww8apn9/。到時候我會檢查你給的腳本。 – k00989 2014-11-14 16:26:55

+0

我想禁用該值。但是您的查詢會從下拉列表中刪除這些值。 – k00989 2014-11-14 16:58:43

+0

但你有一些想法。 – k00989 2014-11-14 17:01:09

0

您可以存儲從第一個框中選擇的最後一個項目的值,然後遍歷第二個框並將這些值與存儲值進行比較,禁用所有匹配的項目。

+0

你可以請這個小提琴建議我。 http://jsfiddle.net/rajan222000/yww8apn9/ – k00989 2014-11-14 16:26:11

相關問題