我有一个下拉选择器,需要根据选择加载表单的其他部分。
我在下面重复这个选择器几次,需要确保没有选择相同的选项。我想我需要运行所有mySelector的选定选项,如果选中该选项则显示一些错误消息。不确定如何。
这是我到目前为止所得到的:
$('.mySelector').change(function(){
var selectForm = '#' + $(this).val();
$('div').next('.fLoad').load('formParts.html ' + selectForm );
});
<select class="mySelector">
<option value="selectOne">Select one</option>
<option value="o1">Car details</option>
<option value="o2">Boat details</option>
<option value="o3">Train details</option>
<option value="o4">Bike details</option>
<option value="o5">Sub details</option>
</select>
<div class='fLoad'> </div>
<option value="selectOne">Select one</option>
<option value="o1">Car details</option>
<option value="o2">Boat details</option>
<option value="o3">Train details</option>
<option value="o4">Bike details</option>
<option value="o5">Sub details</option>
<div class='fLoad'> </div>
<select class="mySelector">
<option value="selectOne">Select one</option>
<option value="o1">Car details</option>
<option value="o2">Boat details</option>
<option value="o3">Train details</option>
<option value="o4">Bike details</option>
<option value="o5">Sub details</option>
</select>
<div class='fLoad'> </div>
答案 0 :(得分:1)
创建一个值为bools的字典,这样你只需要遍历选项一次。
var alreadyUsed = {};
$("select").each(function(){
var thisVal = $(this).val();
if(alreadyUsed[thisVal]){
// found a dupe
}
alreadyUsed[thisVal] = true;
});