场景:我出售粉红色,海军蓝,黑色和大小中小型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