简体   繁体   中英

How to validate whole html table values in jquery

I am appending table rows on the button click event. I need to avoid duplicate values. Is there a way to avoid duplicates?

my JQuery

       $('#Add').click(function () {
           var TName = $('#TournamentName').val();
           var GName = $('#Gname').val();
           var date = $('#Tdate').val();
           var time = $('#Stime').val();
           var Mtype = $('#Match').val();
           var Ground = $('#Ground').val();
           var ClubA = $('#TeamA').val();
           var ClubB = $('#TeamB').val();
           $('#TournamentName').attr('disabled', true);
           var isDup = false;

           $("#fixtab tbody").each(function (i, n) {
               alert(i);
               alert(n);
               if (($("i").find("[name=TName]").val() == Tname) && ($("i").find("[name=date ]").val() == date) && ($("i").find("[name=time ]").val() == time) && ($("i").find("[name=ClubA ]").val() == ClubA) && ($("i").find("[name=ClubB ]").val() == ClubB) && ($("i").find("[name=Ground ]").val() == Ground)) {
                   alert("error");
                   isDup = true;
                   return false;
               }
               else {
                   $('#fixtab tbody').append("<tr><td><center>" + GName + "</center><input type='hidden' name='GName' value='" + GName + "' /></td><td>" + date + "<input type='hidden' name='date' value='" + date + "' /></td><td>" + time + "<input type='hidden' name='time' value='" + time + "' /></td><td>" + ClubA + "<input type='hidden' name='ClubA' value='" + ClubA + "' /></td><td>" + ClubB + "<input type='hidden' name='ClubB' value='" + ClubB + "' /></td><td>" + Ground + "<input type='hidden' name='Ground' value='" + Ground + "' /></td><td>" + Mtype + "<input type='hidden' name='Match' value='" + Mtype + "' /></td><td><input type='button' class='remove' value='remove'/><input type='hidden' name='TName' value='" + TName + "' /></td><tr>");
               }
           });

Like this I will append more than 10 records, so I need to avoid duplication from this records.

I dont see any easy way except :

  $('#Add').click(function () {
               var TName = $('#TournamentName').val();
               var GName = $('#Gname').val();
               var date = $('#Tdate').val();
               var time = $('#Stime').val();
               var Mtype = $('#Match').val();
               var Ground = $('#Ground').val();
               var ClubA = $('#TeamA').val();
               var ClubB = $('#TeamB').val();

    var isDup=false;

    $("#fixtab tbody tr").each(function (i,n){
      var _n=$(n);
      if (_n.find("[name=TName]").val()==Tname) &&
          _n.find("[name=date ]").val()==date ) &&
          ..
          ..) 
        {
            isDup=true;
            return false;

        }

    });

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM