使用jQuery时没有重复选择器
我有一个下拉选择器,需要根据选择加载表单的其他部分 我在下面重复这个选择器几次,需要确保没有选择相同的选项。我想我需要运行所有mySelector的所选选项,如果选择了该选项,则会显示一些错误消息。不知道怎么做 以下是到目前为止我得到的信息:使用jQuery时没有重复选择器,jquery,Jquery,我有一个下拉选择器,需要根据选择加载表单的其他部分 我在下面重复这个选择器几次,需要确保没有选择相同的选项。我想我需要运行所有mySelector的所选选项,如果选择了该选项,则会显示一些错误消息。不知道怎么做 以下是到目前为止我得到的信息: $('.mySelector').change(function(){ var selectForm = '#' + $(this).val(); $('div').next('.fLoad').load('formParts.html '
$('.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>
$('.mySelector').change(函数(){
var selectForm='#'+$(this.val();
$('div').next('.fLoad').load('formParts.html'+selectForm);
});
选择一个
汽车详情
船只详情
列车详细信息
自行车详情
子细节
选择一个
汽车详情
船只详情
列车详细信息
自行车详情
子细节
选择一个
汽车详情
船只详情
列车详细信息
自行车详情
子细节
制作一个布尔值字典,这样您只需在选项上循环一次
var alreadyUsed = {};
$("select").each(function(){
var thisVal = $(this).val();
if(alreadyUsed[thisVal]){
// found a dupe
}
alreadyUsed[thisVal] = true;
});
您的HTML看起来很时髦:选项标记没有关闭…当前代码只有一个选择器,但没有关闭选项。HTML不需要关闭。但是当然,我可以接近。感谢您提到这一点。ID在HTML文档中必须是唯一的。事件处理程序将只添加到ID为mySelector的第一个元素中
next(“#fLoad”)
如果下一个元素具有IDfLoad
,则选择下一个元素,但您只有classfLoad
的元素。很好!我会更新的。我尝试多次复制单个功能。是的,我更新了代码。谢谢。这听起来很有趣。我是否在我的$('.mySelector').change(function(){function)中添加此项?如果要在每次更改时进行检查,请确定。否则,请将其附加到“提交”按钮或其他任何按钮。您可能需要添加默认的“选择一项”值或其他值,并忽略任何尚未更改的选择,否则您将立即得到错误