場景:我出售粉紅色,海軍藍,黑色和大小中小型T恤。我有兩個選擇框,一個用於顏色,另一個用於大小。我中等粉紅色的T恤衫已經售罄,所以需要禁用此選項。如何在選擇「粉紅色」時禁用「中等」選項,但確保它對其他顏色選項有效?如何根據另一選擇選項禁用選擇選項
<select name="product[]" id="color">
<option value="Pink">Pink</option>
<option value="Navy">Navy</option>
<option value="Black">Black</option>
</select>
<select name="product[]" id="size">
<option value="Small">Small</option>
<option value="Medium">Medium</option>
<option value="Large">Large</option>
</select>
我已經在解決這個問題上有了一拳,但似乎無法讓它工作。我需要一個解決方案,使用包含字母和空格的選項值,即「深粉紅色」或「超大」選項值,因爲選項值會傳遞給結帳。這是我已經得到了一個解決方案最接近:
function enableElements()
{
if($('#color').val() == "pink"){
$("#size option[value='medium']").attr('disabled',true);
}
else $("#size option[value='medium']").attr('disabled',false);
}
^這是基於項目在這裏找到:http://www.codeoncall.com/disable-drop-down-list-items-based-on-another-drop-down-selection/。
可能重複的[如何禁用基於其他選定選項的選擇?](http://stackoverflow.com/questions/15888444/how-to-disable-select-based-on-other-selected-選項) – melancia 2014-09-25 13:16:36
無論如何只是一個提示。不要爲此使用'.attr()'。改用'.prop()'。 [.prop()vs .attr()](http://stackoverflow.com/questions/5874652/prop-vs-attr) – melancia 2014-09-25 13:17:38
另一個提示:你實際上並不需要'if ... then ...其他'爲此。 '('#size option [value ='medium']「)。prop('disabled',$('#color')。val()==」pink「);' – melancia 2014-09-25 13:18:52