日期:2014-05-16  浏览次数:20360 次

求助大神!JQuery校验的问题。

$("#mapping input[name='produceMapping.produceMappingName']")
.each(function() {
if ($.trim($(this).val()) == "") {
alert("映射不能为空");
flag = false;
return false;
}
alert($.trim($(this).val())); //问题:::现在我可以获取到所有元素的值,想做一个验证,不允许元素的值重复,如果重复返回false谁能帮我解决下,谢谢~~~
});
jquery javascript 来人呀~

------解决方案--------------------
恩,我之前做过类似的一个功能,就是把值拼一个长串,然后看下一个值在这个串里有没有。。
------解决方案--------------------

<script src="http://code.jquery.com/jquery-latest.js"></script>
<script type="text/javascript">
$(function(){//在文本框中输入数字,点击按钮后判断是否有重复值
$("#abv").click(function(){
var ar=new Array();
var flag=0;
$(":text[id^=a]").each(function(){
ar.push($(this).val());
});
for(var i=0;i<ar.length;i++){
for(var j=i-1;j>=0;j--){
if(ar[i]==ar[j]){
flag=1;
break;
}
}
}
if(flag){
alert("存在重复值,不允许提交");
return false;
}else{
alert("不存在重复值")
return true;
}
});
})

</script>
<input type="button"  id="abv" value="测试用按钮"/>
<input type="text"  id="a1" />
<input type="text"  id="a2" />
<input type="text"  id="a3" />
<input type="text"  id="a4"/>

------解决方案--------------------
    var str="
------解决方案--------------------
";//字符串
    $("#mapping input[name='produceMapping.produceMappingName']")
            .each(function() {
                var v=$.trim($(this).val());
                if (""==v) {
                    alert("映射不能为空");
                    flag = false;
                    return false;
                }
                if(str.indexOf(v)!=-1){
                    alert("不允许元素的值重复!");
                    flag = false;
                    return false;
                }else{
                 &