如何使用jQuery检查输入中的重复值

时间:2016-06-12 11:07:16

标签: javascript jquery html

我有一个html表,里面有输入。我想检查自定义列中的重复值,或者另一方面检查Non Dupllicated td value

<table>
    <tr><td><input value="one"/></td></tr>
    <tr><td><input value="two"/></td></tr>
    <tr><td><input value="one"/></td></tr>
    <tr><td><input value="nine"/></td></tr>
    <tr><td><input value="four"/></td></tr>
</table>

我想检查td中的所有输入,如果值重复显示错误。例如,顶部代码one是重复的。 我不想使用for()

3 个答案:

答案 0 :(得分:8)

使用each()检查输入值,如果任何值重复,则向其添加类duplicate

&#13;
&#13;
var arr = [];
$("input").each(function(){
    var value = $(this).val();
    if (arr.indexOf(value) == -1)
        arr.push(value);
    else
        $(this).addClass("duplicate");
});
&#13;
.duplicate {
    border: 1px solid red;
    color: red;
}
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table>
    <tr><td><input value="one"></td></tr>
    <tr><td><input value="two"></td></tr>
    <tr><td><input value="one"></td></tr>
    <tr><td><input value="nine"></td></tr>
    <tr><td><input value="four"></td></tr>
    <tr><td><input value="four"></td></tr>
</table>
&#13;
&#13;
&#13;

答案 1 :(得分:1)

试试这个                                               

 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
    <table>
        <tr><td><input value="one"></td></tr>
        <tr><td><input value="two"></td></tr>
        <tr><td><input value="one"></td></tr>
        <tr><td><input value="nine"></td></tr>
        <tr><td><input value="four"></td></tr>
    </table>

<script>
$("input").change(function(){
    var x=$(this).val();
    var z=0;
    $("input").each(function(){
        var y=$(this).val();
        if(x==y){
            z=z+1;
        }
    });
    if(z>1){
        alert(x);
    }
 })
 </script>

 </body>
</html>

答案 2 :(得分:0)

请检查使用此代码

$("input").on("change",function(){
   var arr = new Array();
   $("input").each(function(){
                        arr.push($(this).val());
   });
   for(var i=0; i<arr.length;i++){
       for(var j=i+1;j<arr.length;j++){
          if(arr[i]==arr[j]){
              alert("Already Exist"); 
              return;
          }
       }
   }         
})