admin管理员组

文章数量:1202794

I have a html table and there is input in it. I want to check duplicate value in a custom column or In the other hand 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>

I want check all input in td and if a value duplicated display error. For example in top code one is duplicated. I don't want to use for().

I have a html table and there is input in it. I want to check duplicate value in a custom column or In the other hand 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>

I want check all input in td and if a value duplicated display error. For example in top code one is duplicated. I don't want to use for().

Share Improve this question edited Jun 12, 2016 at 11:53 Mohammad 21.5k16 gold badges56 silver badges84 bronze badges asked Jun 12, 2016 at 11:07 Mohsen ZahediMohsen Zahedi 6882 gold badges11 silver badges31 bronze badges 1
  • stackoverflow.com/questions/37749385/… – Midas Commented Jun 12, 2016 at 12:21
Add a comment  | 

4 Answers 4

Reset to default 18

Using each() check value of inputs and if any value is duplicate add class duplicate to it.

var arr = [];
$("input").each(function(){
    var value = $(this).val();
    if (arr.indexOf(value) == -1)
        arr.push(value);
    else
        $(this).addClass("duplicate");
});
.duplicate {
    border: 1px solid red;
    color: red;
}
<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>

Try this one

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

Please check using this code

$("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;
          }
       }
   }         
})

I used JQuery to check two columns on duplicates, starting off by hiding rows that do not contain:

     $("#webGrid tr > td.TrailerNumber:not(:contains('" + CurrentTrailerNumber 
 + 
 "'))").parent().hide(); //Hide rows on TrailerNumber that don't match.
            $("#webGrid tr > td #CarrierNameLbl:not(:contains('" + 
 CurrentCarrrierNameLbl + "'))").parent().closest('TR').hide(); //Hide Rows 
 that don't contain value.

You can also test the length of strings to validate:

 //Test lengths to determine if an exact match. 
            if ($('#webGrid tbody > tr > td #TrailerNumber').val().length > TrailerNumberLength || $('#webGrid tbody > tr > td #TrailerNumber').val().length != TrailerNumberLength) {
                $('#webGrid TR').parent().closest('TR').hide();
            };

            if ($('#webGrid tbody > tr > td #CarrierName').val().length > CurrentCarrierNameLength || $('#webGrid tbody > tr > td #CarrierName').val().length != CurrentCarrierNameLength) {
                $('#webGrid TR').parent().closest('TR').hide();
            };

本文标签: javascriptHow to check duplicate value in inputs using jQueryStack Overflow