避免在jquery附加重复

时间:2014-02-28 03:09:44

标签: javascript jquery

我使用此脚本将数据附加到表中:

<script>
    count4 = 1;
    function appendcertificate(){
        var certification = $('#certification').val();
        var sectorSkills = $('#sektorSkills').val();
        var issuedate = $('#issuedate').val();
        var expireddate = $('#expireddate').val();

        var field = "<tr><td>"+certification+"</td><td>"+sektorSkills+"</td><td>"+issuedate+"</td><td>"+expireddate+"</td><input type='hidden' name='certificationVal[]' value='"+certification+"'><input type='hidden' name='skillsectorVal[]' value='"+skillsector+"'><input type='hidden' name='issuedateVal[]' value='"+issuedate+"'><input type='hidden' name='expireddateVal[]' value='"+expiredate+"'></tr>";
        $("#sertifikasiData tbody").append(field);
        count++;
    };

    function hapusform4(){
        $("#sertifikasiData tbody").html("");
    };
</script>

单击“添加”按钮时,它会使用onclick="appendcertificate()"触发器。 我应该使用什么脚本来防止行中的重复值,如果是空白的话,它可以提醒“请填写最少1行”。

2 个答案:

答案 0 :(得分:0)

我没有测试过,但这可能有用。

<script>
count4 = 1;
function appendcertificate(){
    var certification = $('#certification').val();
    var sectorSkills = $('#sektorSkills').val();
    var issuedate = $('#issuedate').val();
    var expireddate = $('#expireddate').val();

    if(cerfication == "" || sectorSkills == "" || issuedate == "" || expiredate == "") {
         alert("please fill minimum 1 row");
         return false;
     }
     for (var i = 0, row; row = document.getElementById("#sertifikasiData").rows[i]; i++) {
        var fields = new Array();
        for (var j = 0, col; col = row.cells[j]; j++) {
            fields[j] = col.innerHTML;
        }
        if(certification == fields[0] && sectorSkills == fields[1] && issuedate == fields[2] && expireddate == fields[3]) {
            alert("Duplicate row");
            return false;
            }
     }
    var field = "<tr><td>"+certification+"</td><td>"+sektorSkills+"</td><td>"+issuedate+"</td><td>"+expireddate+"</td><input type='hidden' name='certificationVal[]' value='"+certification+"'><input type='hidden' name='skillsectorVal[]' value='"+skillsector+"'><input type='hidden' name='issuedateVal[]' value='"+issuedate+"'><input type='hidden' name='expireddateVal[]' value='"+expiredate+"'></tr>";
    $("#sertifikasiData tbody").append(field);
    count++;
};

function hapusform4(){
    $("#sertifikasiData tbody").html("");
};

答案 1 :(得分:0)

如果您不希望它们在仍有空白行时添加新的空白行,那么当您添加行时,请设置blankRow = true之类的值然后向所有人添加onchange事件blankRow=false时,新控件和blankRow设置按钮不起作用 要么 您可以使用检查空行存在的函数替换简单布尔值(因此,如果它们将其擦除为空白,您仍然可以看到它)。那么你真的不需要改变处理程序。

关于重复,这是重复的,你可以在这里找到详细信息:

find duplicated rows in a table