我问了"How to apply list filters on a dropdown lists"问题并得到了答案。但该解决方案无法在Internet Explorer中运行。请有人调试此代码。
这是链接
答案 0 :(得分:0)
这应该为你排序
$(function () {
$('#a').live('change', function () {
selectedElement = $(this).find("option:selected");
if (selectedElement) {
$('#b').empty().append("<option value='0'>Select answer</option>" + selectedElement.get(0).outerHTML).val(0);
}
});
});
HTML:
<table>
<tr>
<td>
<select class="dropdown" id="a">
<option value="">Select answer</option>
<option value="1" >Yes</option>
<option value="2">No</option>
<option value="3">N.A.</option>
</select>
</td>
<td>
<select class="dropdown" id="b">
<option value='0'>Select answer</option>
</select>
</td>
</tr>
</table>
答案 1 :(得分:0)
这可能会严重简化您要执行的操作,它假设两个选择列表中的选项始终相同,并且您希望将第二个下拉列表的选项设置为选择值。第一个(除非选择“请选择”,然后它应该是所有选项)。假设是这种情况,那么:
$('#a').live('change',function()
{
var firstSelect = $(this),
otherSelect = $('#b'),
selectedItem = $(this).children(':selected'),
itemsToClone = selectedItem.val() ? selectedItem : firstSelect.children(':gt(0)');
otherSelect
.children(':gt(0)')
.remove()
.end()
.append(itemsToClone.clone());
});
它增加了DOM操作的开销,但是在所有浏览器中工作的优势。
jsbin中的示例:http://jsbin.com/anihec/3