2015-09-27 89 views
-2

我正在嘗試一個按鈕的Onclick事件,但它不顯示警報。任何人都可以建議我如何正確處理點擊事件。如何正確處理Onclick事件,按鈕事件不顯示警報。

function sendGetData() { 
    $.ajax({ 

     type: 'GET', 
     url: 'Refresh', 
     success: function (data) { 

      var trHTML = ''; 
      $.each(data, function (i, item) { 

       if(data[i].test_progress=="Complete") 
        { 
      var buttonVar = ('<button id="btn11">'+"Clicking"+'</button>');     
        $("#btn11").click(function(){ 
            alert("The paragraph was not clicked."+i); 
           }); 
        } 
       else 
        { 
        var buttonVar = ('<button id="btn12">'+"Stoping"+'</button>'); 
        $("#btn12").click(function(){ 

            alert("The paragraph was not clicked."+i); 
           }); 

        } 

       trHTML += '<tr><td>' + data[i].test_type + 
       '</td><td>' + data[i].device_id + 
       '</td><td>' + data[i].make + '&nbsp'+data[i].model+ 
       '</td><td>' + data[i].stack_name + 
       '</td><td>' + data[i].suite_name + 
       '</td><td>' + data[i].test_progress + '<br>&nbsp&nbsp&nbsp&nbsp'+data[i].tests_run+'/'+data[i].total_tests+ 
       '</td><td>' + data[i].start_time + 
       '</td><td>' + data[i].end_time + 
       '</td><td>' + buttonVar + 
       '</td></tr>'; 

       }); 
      $('#test1').append(trHTML); 
      $('#test').hide(); 
      $('#show').show();  
     } 
    }); 
    } 

回答

0

您的單擊事件偵聽器。這是行不通的。

var trHTML = ''; 

trHTML += '<tr><td>' + data[i].test_type + 
'</td><td>' + data[i].device_id + 
'</td><td>' + data[i].make + '&nbsp'+data[i].model+ 
'</td><td>' + data[i].stack_name + 
'</td><td>' + data[i].suite_name + 
'</td><td>' + data[i].test_progress + '<br>&nbsp&nbsp&nbsp&nbsp'+data[i].tests_run+'/'+data[i].total_tests+ 
'</td><td>' + data[i].start_time + 
'</td><td>' + data[i].end_time + 
'</td><td>' + buttonVar + 
'</td></tr>'; 

$('#test1').append(trHTML); 

$.each(data, function (i, item) { 

    if(data[i].test_progress=="Complete") 
    { 
    var buttonVar = ('<button id="btn11">'+"Clicking"+'</button>');     
    $("#btn11").click(function(){ 
     alert("The paragraph was not clicked."+i); 
    }); 
} 
else 
{ 
    var buttonVar = ('<button id="btn12">'+"Stoping"+'</button>'); 
    $("#btn12").click(function(){ 

     alert("The paragraph was not clicked."+i); 
    }); 

} 

您只能爲已經在DOM中的元素分配點擊事件。之後$('#test1').append(trHTML);

+0

這樣的作品,但每次我從0開始爲每個按鈕,但在我的表我需要從特定索引開始的行 – 20prj

+0

我並不完全清楚您所說的索引與上述代碼匹配的位置,但聽起來您需要將索引存儲在此函數之外的變量中,以便它堅持執行之間。我認爲這是一個無關的問題。 – dave

1

嘗試用這種方法,你的元素添加到DOM之前被添加

$(document).on('click', '#btn12', function(event) { 
alert("The paragraph was not clicked."+i); 
}); 
+0

這個工程,但每次我從每個按鈕開始從0爲每個按鈕,但在我的表中,我需要從他的特定索引開始的行 – 20prj