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

解决方案 »

  1.   

    神啊,救救我吧..
     我用        each(//嵌套了一层each();进行比较,为什么内层return不好使呢。);
      

  2.   


    <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"/>
      

  3.   

        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{
                        str+=v+"|";
                    }
                });