【发布时间】:2016-05-23 15:31:55
【问题描述】:
我有 3 个选择框
<select name="comp" id="comp">
<option value="" disabled selected>Select company</option>
<option value="Company1">Company1</option>
<option value="Company2">Company2</option>
</select>
<select name="dept" id="dept">
<option value="" disabled selected>Select department</option>
<option value="All">All</option>
<option ng-repeat="department in departmentList" value="{{department}}">{{department}}</option>
</select>
<select name="staff" id="staff">
<option value="" disabled selected>Select staff</option>
<option value="All">All</option>
<option ng-repeat="staff in staffList" value="{{staff}}">{{staff}}</option>
</select>
如果第一个选择框改变了它的值,那么我想重置第二个和第三个选择框
$("#comp").change(function() {
$('#dept').val('');
$('#staff').val('');
});
如果第二个选择框改变了它的值,那么我只想重置第三个选择框
$("#dept").change(function() {
$('#staff').val('');
});
我的问题是,当我在第三个选择框中设置一个值,然后更改第一个选择框时,它应该重置第二个和第三个选择框
$('#dept').val('');
$('#staff').val('');
但实际上它在第三个选择框的列表中添加了一个空白项
<option value="? string:staff name ?"></option> ==$0
为什么将此项目添加到列表中?如何将列表重置为所选值
<option value="" disabled selected>Select staff</option>
???
(我使用的是 Jquery 1.11.3)
【问题讨论】: