选项根据其他选项更改属性

时间:2012-04-16 16:14:28

标签: jquery options update-attributes

我有2次下降。第一个下拉是设计颜色。第二个是将要打印的设计。有时我们有红色设计,但是当颜色混合在一起时,它们不能印在红色包装上。我试图拆分第一个选项,以给我它的颜色,如果它匹配从下面的选项禁用它。选择其他选项后,将禁用已禁用的选项。

我的想法是创建一个str并使用它来查看它是否在选项名称中。它似乎没有工作,所以我想我错过了一些小事。如果我更换" str"与" Red"例如,它禁用红色,但它不会在飞行中工作,这是我需要它做的。任何帮助将不胜感激。

这是我正在努力的一块:        $(designColor)。儿童('选项:含有(STR)')ATTR('禁用''禁用&#39);

<p>
<select onchange="change_option('SELECT___LX-03675___185',this.options[this.selectedIndex].value)" name="SELECT___LX-03675___185">
<option selected="" value="0">Choose Water Bottle WRAP Color</option>
<option value="1343">Black Water Bottle</option>
<option value="1052">Green Water Bottle</option>
<option value="1874">Purple Water Bottle</option>
<option value="1051">Red Water Bottle</option>
<option value="1053">Royal Water Bottle</option>
<option value="1813">Pink Water Bottle</option>
</select><br>
<select onchange="change_option('SELECT___LX-03675___529',this.options[this.selectedIndex].value)" name="SELECT___LX-03675___529">
<option selected="" value="0">Choose Water Bottle DESIGN Color</option>
<option value="2519">Pink Design Water Bottle</option>
<option value="2520">Red Design Water Bottle</option>
<option value="2521" disabled="disabled">White Design Water Bottle</option>
<option value="2522">Black Design Water Bottle</option>
<option value="2523">Blue Design Water Bottle</option>
</select>
</p>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){

var wrapColor = $('select[name=SELECT___LX-03675___185]');
var designColor = $('select[name=SELECT___LX-03675___529]');

$(wrapColor).change(function () {
      var str = "";
      $(wrapColor).children("option:selected").each(function () {
            str += $(this).text().split(' ')[0] + " ";
          });


$(designColor).children('option').removeAttr('disabled');
$(designColor).children('option:contains(str)').attr('disabled','disabled');

    })
    .trigger('change');
});
</script>

1 个答案:

答案 0 :(得分:1)

我认为应该(未经测试)

$(designColor).children('option:contains('+str+')').prop('disabled',true);