Versions Compared


  • This line was added.
  • This line was removed.
  • Formatting was changed.


To ensure that Form Grid data do not have duplicates




Change "gridId" to your form grid "Field Id".

To compare certain columns only instead of all columns, modify '$(row).find(".grid-cell")' to '$(row).find("[KB:column_key=field1], [KB:column_key=field2]")'.  (Take note that this is separated by a comma.)


เปลี่ยน "gridId" เป็นตารางแบบฟอร์ม "Field Id" ของคุณ

หากต้องการเปรียบเทียบคอลัมน์บางคอลัมน์แทนที่จะเป็นคอลัมน์ทั้งหมดให้แก้ไข '$ (แถว) .find (". grid-cell")' เป็น '$ (แถว) .find ("[KB: column_key = field1], [KB: column_key = field2] ")' (โปรดทราบว่าสิ่งนี้คั่นด้วยเครื่องหมายจุลภาค)

Code Block
        var formGridFieldId = "gridId";

        //run when form grid value change
        $("[name="+formGridFieldId+"]").live("change", function(){
            var table = $(this).find("table");

            //get last added row
            var addedRow = $(table).find("tr.grid-row:last-child");

            var duplicate = false;

            //Loop all the row and compare all the field
                var row = $(this);

                if ($(row).attr("id") != $(addedRow).attr("id")) {
                    var similar = true;

                    //Loop all field
                    //Change '$(row).find(".grid-cell")' to '$(row).find("[column_key=field1], [column_key=field2]")'
                    //if only want to compare to certain fields. Separate with comma.

                        var field = $(this);

                        var columnKey = $(field).attr("column_key");
                        var value = $(field).text();

                        var newValue = $(addedRow).find("[column_key="+columnKey+"]").text();

                        if (value != newValue) {
                            similar = false;
                            return false;

                    if (similar) {
                        duplicate = true;
                        return false;

            //if record is duplicate, remove it
            if (duplicate) {