2016-04-21 62 views
1

如果我有3個單位可用和兩個選擇hhtml來選擇數量,我怎麼能做到這一點,當客戶端選擇1單位(選項值= 1)例如在第一次選擇,這個選項會在第二個選項中減去,這隻顯示剩餘的單位?即第二個選擇只顯示1個單位(選項值= 1)和2個單位(選項值= 2)。我不需要顯示和隱藏。我需要的是,如果客戶在第一次選擇時選擇一個單位,在第二次只能選擇2個。選項值是指數量如何減少選項兩個相關的選擇html

<select class="quantity" name="double room"> 
<option value="1">1</option> 
<option value="2">2</option 
<option value="3">3</option 
</select> 
<p> 
<select class="quantity" name="double room"> 
<option value="1">1</option> 
<option value="2">2</option 
<option value="3">3</option 
</select> 
+0

因此,如果在選定冷杉 「1」 的用戶'select'然後除去(1)在第二個'select'選項。如果他們選擇「2」,那麼在第二個選項中刪除(2)選項?也許創建一個圖片或示例輸出 – theblindprophet

+0

如果它們在第一次選擇時更改其選擇,是否應該放棄? – Barmar

+0

[在下拉列表1中選擇從下拉菜單2中隱藏選項]的可能重複(http://stackoverflow.com/questions/31860103/hide-option-from-dropdown-2-when-selected-in-dropdown-1) – mickmackusa

回答

0

以下是一個快速解決方案,希望它能指出您正確的方向。這不會做任何花哨的事情,比如維持秩序,只會在第二次選擇時刪除並返回選項。

https://jsfiddle.net/jpbjd40s/2/

// Intialize this value with the option missing from #two 
var previousValue = 1; 

// Do stuff on change. 
$('#one').on('change', function() { 

    // Put the unselected option from #one back in #two. 
    $('#two').append('<option value="' + previousValue + '">' + previousValue + '</option>'); 

    // Remember what we had. 
    previousValue = $('#one').val(); 

    // Remove the option from #two selected in #one. 
    $('#two').children('[value="' + $('#one').val() + '"]').remove(); 

}); 
+1

使用'.hide()'可能會更好,如果用戶更改第一個選擇,則可以輕鬆恢復它。 – Barmar

+0

我同意,隱藏和顯示會更好......就像我說過的那樣快:) :) – Deplicator

+0

儘管使用show和hide,但select會保留隱藏的值,直到您更改爲止。我正在更新jsfiddle,但它似乎會更長一點(至少我的實現是)。 – Deplicator