我有2個選擇,我想根據第二個選擇的值,從第一個值中刪除。例如:如果我從第二個選擇中選擇值1和2,我希望2,3,4,5的值被隱藏,如果在第二個選擇值中是3,我想隱藏1,2,3值:隱藏和顯示多個選擇
選擇一:
<select name="select1">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
</select>
選擇二:
<select name="select2">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
</select>
這是藏在被1或2個的情況下的代碼:
var ary=[2,3,4,5];
$('[name=select1] option').filter(function(){
return ($.inArray(parseInt(this.value),ary) >-1);}).hide();
此代碼適用於隱藏,但我遇到問題。當代碼將2,3,4,5隱藏在值1和2上時,在第二選擇中選擇值3僅顯示值1,因爲其他隱藏。我用show()解決了這個問題。然後2,3,4,5的表現,但我不能隱藏值1,因爲返回://我嘗試這樣做,它不會工作:
var ary=[4,5];
var ary2=[1];
$('[name=select1] option').filter(function(){
return ($.inArray(parseInt(this.value),ary) >-1);}).hide()&&($.inArray(parseInt(this.value),arry2) >-1);}).show();
我也試圖調用另一個函數它會一直刷新select1,顯示所有的值,並且在這個函數中只使用了隱藏,我認爲這將是正確的方式,但我不知道如何解決它?
我不知道我遵循這個題。你只想顯示在'select2'中選擇的'select1'中的元素?你能再解釋一下嗎? –
我認爲你可以使用[jQuery級聯](http://archive.plugins.jquery.com/project/ cascade),只需切換每個下拉列表中可用的選項集。 – lavrik
@RocketHazmat我只想刪除select1上的值。如果選擇2上的選定值是1或2我想隱藏值2,3,4,5形式選擇1。如果select2上的選定值是3,我想刪除值1,2,3。 –