2017-05-26 28 views
0
$('#btnAdd').click(function() { 

    var dataYear = $('#drpDataYear option:selected').text(); 

    var submissionType = $('#drpSubmissionType option:selected').text(); 

    var submissionStatus = $('#drpSubmissionStatus option:selected').text(); 
    var id = dataYear + submissionType + submissionStatus; 

    if ((dataYear == "Year") || (submissionType == "Submission Type") 
     || (submissionStatus == "Submission Status")) { 
      alert("Please select values from the drop down."); 
    } 
    else if ($('#' + id).length) { 
     alert("Value already exists"); 
    } 
    else { 
     var markup = "<tr id = " + id + " ><td class='dataYearField'>" + dataYear 
      + "</td><td class='submissionType'>" + submissionType 
      + "</td><td class='submissionStatus'>" + submissionStatus 
      + "</td> <td> <input type=button id='btnDel' name='btnDel' value='Delete' class='btn btn-danger'/></td></tr>"; 
     $("table tbody").append(markup); 
    } 
}); 

在上面的代碼($('#' + id).length)在times.Could有人提出一個更好的方式來查找重複和自動顯示警告不起作用工作?

+0

什麼是價值'VAR ID'? –

+0

var id = dataYear + submissionType + submissionStatus; – Catwoman

+0

所有這些字段都有靜態值。 – Catwoman

回答

0

我會搜索元素並將其分配給一個變量,然後檢查該變量的長度。

$('#btnAdd').click(function() { 
 

 
    var dataYear = $('#drpDataYear option:selected').text(); 
 

 
    var submissionType = $('#drpSubmissionType option:selected').text(); 
 

 
    var submissionStatus = $('#drpSubmissionStatus option:selected').text(); 
 
    var id = dataYear + submissionType + submissionStatus; 
 
    var idCount = $('#' + id); 
 

 
    if ((dataYear == "Year") || (submissionType == "Submission Type") 
 
     || (submissionStatus == "Submission Status")) { 
 
      alert("Please select values from the drop down."); 
 
    } 
 
    else if (idCount.length >= 1) { 
 
     alert("Value already exists"); 
 
    } 
 
    else { 
 
     var markup = "<tr id = " + id + " ><td class='dataYearField'>" + dataYear 
 
      + "</td><td class='submissionType'>" + submissionType 
 
      + "</td><td class='submissionStatus'>" + submissionStatus 
 
      + "</td> <td> <input type=button id='btnDel' name='btnDel' value='Delete' class='btn btn-danger'/></td></tr>"; 
 
     $("table tbody").append(markup); 
 
    } 
 
});

+0

這是顯示錯誤 – Catwoman

+0

這是第一次。但是,當我繼續向網格添加相同的元素時,第二個警報不起作用 – Catwoman

+0

然後查看您的瀏覽器控制檯是否由於過時的用戶體驗而阻止了第二次執行。 – alpham8

0

這是因爲jQuery是無法找到DOM中新添加的元素。我會用克雷格的答案,將我的解決方案添加到它下面:

$('#btnAdd').click(function() { 
 

 
    var dataYear = $('#drpDataYear option:selected').text(); 
 

 
    var submissionType = $('#drpSubmissionType option:selected').text(); 
 

 
    var submissionStatus = $('#drpSubmissionStatus option:selected').text(); 
 
    var id = dataYear + submissionType + submissionStatus; 
 
    var idCount = $(document.getElementById(id)); // This may sound weird but it works 
 
    // Or you can also do it this way but i have not tested this one 
 
    // var idCount = $('div#parent').find('#' + id); 
 

 
    if ((dataYear == "Year") || (submissionType == "Submission Type") 
 
     || (submissionStatus == "Submission Status")) { 
 
      alert("Please select values from the drop down."); 
 
    } 
 
    else if (idCount.length >= 1) { 
 
     alert("Value already exists"); 
 
    } 
 
    else { 
 
     var markup = "<tr id = " + id + " ><td class='dataYearField'>" + dataYear 
 
      + "</td><td class='submissionType'>" + submissionType 
 
      + "</td><td class='submissionStatus'>" + submissionStatus 
 
      + "</td> <td> <input type=button id='btnDel' name='btnDel' value='Delete' class='btn btn-danger'/></td></tr>"; 
 
     $("table tbody").append(markup); 
 
    } 
 
});


我希望這個作品爲你