1

我有 2 个下拉菜单。第一个下拉菜单是设计颜色。第二个是要打印的设计。有时我们有红色设计,但它们不能印在红色包装上,因为颜色会混合在一起。我正在尝试拆分第一个选项以给我它的颜色,如果它与下面的选项匹配以禁用它。选择另一个选项时,禁用选项将刷新。

我的想法是创建一个 str 并使用它来查看它是否在选项名称中。它似乎不起作用,所以我想我错过了一些小东西。例如,如果我将“str”替换为“Red”,它会禁用红色,但它不会即时工作,这是我需要它做的。任何帮助将不胜感激。

这是我苦苦挣扎的部分: $(designColor).children('option:contains(str)').attr('disabled','disabled');

<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>
4

1 回答 1

1

我认为应该是(未测试)

$(designColor).children('option:contains('+str+')').prop('disabled',true);
于 2012-04-16T16:15:44.377 回答