2017-03-27 21 views
0

我想通過單擊搜索按鈕在表格中顯示數據。我面臨的問題是,如果在「Fromdate - Todate」之間沒有數據,錯誤會正常發生,但是現在,在此之後,我輸入了正確的fromdate和todate,然後表中沒有顯示任何數據。我檢查鉻控制檯數據從後端來,但在表如何在每次按鈕點擊ajax調用後刷新表格

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

 
    var getData = basePath + 'Admin/GetPaymentsForDate/?FromDate=' + $(".datepickerInputFROM").val() + '&ToDate=' + $(".datepickerInputTO").val() 
 
    if (($(".datepickerInputFROM").val() == "") && ($(".datepickerInputTO").val() == "")) { 
 
    alertify.alert('Please select dates to proceed.') 
 
    return false; 
 
    //$('#financetbl').html(''); 
 
    } else if (($(".datepickerInputFROM").val() == "") || ($(".datepickerInputTO").val() == "")) { 
 
    alertify.alert('Please select dates to proceed.') 
 
    return false; 
 
    //$('#financetbl').html(''); 
 
    } 
 
    $.ajax({ 
 
    url: getData, 
 
    async: true, 
 
    success: function(response) { 
 
     // alert(response[0]); 
 
     $('#financetbl').html(''); 
 
     // if (response.resultCourse != '' && response[0]!= 'null') { 
 
     if (response.length > 0) { 
 

 
     var tr; 
 
     for (var i = 0; i < response.length; i++) { 
 
      tr = '<tr>' 
 
      tr += "<td>" + response[i].applicationNumber + "</td>"; 
 
      tr += "<td>" + response[i].applicantName + "</td>" 
 

 
      tr += '</tr>' 
 
      $('#financetbl tbody').append(tr); 
 

 
     } 
 
     inittable(); 
 
     console.log(response) 
 

 
     } else { 
 
     console.log(response) 
 
     alertify.alert("Error : No Payments Details Found"); 
 
     //flush the table 
 
     $('#financetbl').html('No Payments Details Found'); 
 
     } 
 
    } 
 
    }); 
 
});

+0

明確的表格中另一個Ajax調用 –

+0

之前@AkashAgrawal請你幫助我做一些工作例如/ jsfiddle? –

回答

0

變化

$('#financetbl').html('No Payments Details Found'); 

$('#financetbl').html('<tr><td colspan="2">No Payments Details Found</td></tr>'); 
1

我相信,當你執行不顯示:

$('#financetbl').html(''); 

然後TBODY走了,你失去了你的選擇爲:

$('#financetbl tbody').append(tr); 

我覺得第一行應該是:

$('#financetbl tbody').empty(); 
0

你有多餘的if語句,需要妥善管理表當返回結果爲空時。所以讓我們把它放在一個空的表格中。

不知道inittable();是做什麼的,所以你可能必須解決這個問題來解決這個問題。

$('#paymentdetails').on('click', function() { 
    if (($(".datepickerInputFROM").val() == "") || ($(".datepickerInputTO").val() == "")) { 
    alertify.alert('Please select dates to proceed.') 
    return false; 
    } 
    var getData = basePath + 'Admin/GetPaymentsForDate/?FromDate=' + $(".datepickerInputFROM").val() + '&ToDate=' + $(".datepickerInputTO").val(); 
    $.ajax({ 
    url: getData, 
    async: true, 
    success: function(response) { 
     $('#financetbl').find('tbody').html(''); 
     if (response.length > 0) { 
     var tr; 
     for (var i = 0; i < response.length; i++) { 
      tr = '<tr>' 
      tr += "<td>" + response[i].applicationNumber + "</td>"; 
      tr += "<td>" + response[i].applicantName + "</td>" 
      tr += '</tr>' 
      $('#financetbl tbody').append(tr); 
     } 
     inittable(); 
     console.log(response); 
     } else { 
     console.log(response); 
     alertify.alert("Error : No Payments Details Found"); 
     //flush the table 
     $('#financetbl').find('tbody').html('<tr><td>No Payments Details Found</td></tr>'); 
     } 
    } 
    }); 
}); 
+0

inittable();通過這個我創建一些按鈕來打印表格或導出表格作爲Excel表格。 –

0

試着這麼做JSON.parse()來

var json = '{"applicationName":"XYZ","applicationNumber":1}', 
obj = JSON.parse(json); 

alert(obj.applicationName); 

var json = '{"applicationName":"XYZ","applicationNumber":1}', 
obj = JSON && JSON.parse(json) || $.parseJSON(json); 
+0

你能幫我一些工作jsfiddle –