通过jquery检查在具有相同类的下拉框中输入的重复值
checking for a duplcate value entered inside dropdown box with same class through jquery
有5个下拉菜单具有相同的类"className"。我必须确保在下拉列表中输入的值不重复。
现在,我可以按类访问jquery中的下拉列表,如
$('.className').each(function(){
//my Ques:: code to check if duplicate values are entered by the user
});
我的问题在评论中被称为"我的问题"
您可以使用val
和filter
检查所选值是否与其他值相同。
过滤器:
将匹配的元素集减少为与选择器或通过函数测试。
代码:
function inputsHaveDuplicateValues() {
var hasDuplicates = false;
$('.className').each(function () {
var inputsWithSameValue = $(this).val();
hasDuplicates = $('.className').not(this).filter(function () {
return $(this).val() === inputsWithSameValue;
}).length > 0;
if (hasDuplicates) return false
});
return hasDuplicates;
}
$('button').click(function () {
alert(inputsHaveDuplicateValues());
})
演示:http://jsfiddle.net/IrvinDominin/u3czyjt4/
我想有很多方法可以解决这个问题。例如,您可以将每个组合的值存储在一个数组中,在每次迭代中,检查它以前是否已经存储在数组中。
var values = [];
$('.className').each(function(element, index){
if (values.indexOf($(this).val()) >= 0) {
//already exists
return false; //break the loop
}
values[index] = $(this).val();
});
您可以使用哈希表来检查重复条目。检查这个小提琴:
http://jsfiddle.net/v025hkjn/
var hashtable = {};
$(".className").each(function () {
if(hashtable[this.text]) {
$(this).remove();
} else {
hashtable[this.text] = this.value;
}
});
对于html可能类似于下面的
<select>
<option class='className' value="volvo">Volvo</option>
<option class='className' value="saab">Saab</option>
<option class='className' value="mercedes">Mercedes</option>
<option class='className' value="audi">Audi</option>
<option class='className' value="volvo">Volvo</option>
<option class='className' value="volvo">Volvo</option>
<option class='className' value="volvo">Volvo</option>
</select>
var array = []; // push all the values in array
$('.className').each(function(){
// check if the value is in array
if( $.inArray($(this).val(),array) > 0)
console.log('duplicate found ', $(this).val());
else
array.push($(this).val()
// if not insert into array
});
相关文章:
- React Native通过Navigator将用户输入数据传递到选项卡栏IOS中的组件
- ascii输入键通过firefox中的javascript返回0
- 使用JAVASCRIPT转换货币.可以't通过我的函数设置转换后的输入文本字段的值
- 如何通过Jquery从具有相同名称但不同索引的输入中获取所有值
- 如何在php中创建一个函数,该函数与文本区域一起工作,通过输入类似[color:red]的内容来打印具有等效颜色的文本
- 如何通过jQuery发送选定的元素和文本输入
- 通过提示中的循环触发iFrame中的输入按钮(JavaScript)
- 通过javascript以编程方式将文件插入HTML输入
- 如何通过获取用户输入和使用按钮来运行JavaScript函数
- 如何通过<输入>动态
- 如何在不通过模型验证的情况下屏蔽文本输入中输入的字符
- 通过单击链接(兄弟姐妹?)从无线电输入中获取id
- 如果通过Javascript更改了输入,则jQuery会触发事件
- 如何通过Angular中的$resource发送来自自定义指令的输入值
- jQuery:无法通过输入点击上传文件
- 网络音频API:防止麦克风输入通过扬声器播放
- 我们如何通过表单文本输入通过ajax发送json编码的数据
- 动态文本输入通过ajax保存到数据库
- 如何执行PHP代码,并获得结果,就像当一些数据输入通过任何方式javascript等
- 当浏览器文本输入通过鼠标动作改变时做出反应