2012-05-15 177 views
0

編輯我想,這是什麼意思OP需要隱藏選擇選項

我有每個5個類似的三個選項選擇框。當我從任何選擇框中選擇一個選項時,它應該從另外兩個選擇框中消失。

我在這裏所做的工作JS提琴鏈接:http://jsfiddle.net/thilakar/x66EN/13/

注:再次選擇任意的選擇框的選項。隱藏的選項應顯示在另外兩個選擇框中。

+0

我想要更多的解釋// – anglimasS

+0

我已經編輯您的文章,但我不是100%肯定,如果這正是你想要的。讓我知道如果它不是。 –

+0

是的謝謝..... –

回答

2
$(function() { 
    var sbox = $('select.selectArea[name=fromBox]'); 
    $('select.selectArea').change(function() { 
     var val = this.value, 
      allVals = []; 
     sbox.each(function() { 
      allVals.push(this.value); 
     }); 
     sbox.each(function(index, sel) { 
      $('option:hidden', this).show(); 
      $('option', this).map(function(i, x) { 
       if(this.value != '0' && $.inArray(this.value, allVals) != -1) { 
        $(this).hide(); 
       } 
      }); 
     }); 
    }); 
}); 

DEMO

+0

不錯的工作...請閱讀OP。謝謝 –

+0

@ Mr.T.K請檢查新的演示 –

+0

謝謝,但再次從任何選擇框中選擇一個選項。隱藏的選項應顯示在另外兩個選擇框中。是否有任何解決方案 –

0

這個怎麼樣jsFiddle example?它不會刪除選擇它們的元素,而只是禁用它們。這樣,如果用戶改變主意,他們可以返回並進行更改。

的jQuery:

$('.selectArea').change(function() { 
    var ary = new Array(); 
    $('.selectArea option:selected').each(function() { 
     if ($(this).val().length > 0 && $(this).val() != 0) { 
      ary.push($(this).val()); 
     } 
    }); 
    $('.selectArea option').each(function() { 
     if ($.inArray($(this).val(), ary) > -1) { 
      $(this).attr('disabled', 'disabled'); 
     } else { 
      $(this).removeAttr('disabled'); 
     } 
    }); 
});​ 
+0

謝謝......但不想禁用該選項...它應該隱藏。 –