我一直在努力解决这个问题。我所拥有的是彼此相邻的父/子选择框,它们是根据选择的父级动态生成的。
我想做的是,如果我选择上一级,我会删除所选子选项上的所选属性。
下面的代码解释了我想要做什么。
<div id="selectBoxes">
<select>
<option value=""></option>
<option value="parent">Parent</option>
</select>
<select class="mySelect">
<option value=""></option>
<option value="child">Child</option>
</select>
<select class="mySelect">
<option value=""></option>
<option value="grandChild">Grandchild</option>
</select>
</div>
<script type="text/javascript">
$('select').change(function() {
var $nextSelects = $(this).nextAll('.mySelect');
$nextSelects.each(function() {
$(this).find('option:selected').prop("selected" , false);
});
});
</script>
一个例子可以在这里找到
所以需要发生的是,如果选择了所有 3 个选项并且我向后移动让我们说第一个选择 2 个子选择被取消选择。上述代码适用于 FF 和 Chrome 以及 IE 9,但不适用于 IE 7 和 8。
我试过使用 .attr("selected" , "") & .removeAttr("selected") 仍然无法在 IE 中工作。
任何帮助是极大的赞赏。