2014-03-13 49 views
0

你们可以帮我调试为什么我的jquery点击事件不起作用。点击事件不叫

$(function(){ 
    displayBooks(); 

    $(".btn_checkout").click(function(){ 
    //checkOutBook(event.target.id); 
    alert('got in here'); 
    }); 
}); 


function checkOutBook(id) 
{ 
    alert('Checkout book id ' + id); 
} 

function displayBooks(){ 
    var url = 'http://portal.internal.urs.org/tools_services/training_library/_vti_bin/listdata.svc/Book?$expand=CheckedOutTo'; 
    var books = new Array(); 
    $.getJSON(url, function(data){ 
    for (var i = 0; i < data.d.results.length; i++){ 
     var book = data.d.results[i]; 
     books[i] = book; 
     var s = '<tr><td>' + book.Title + '</td>'; 

     if (book.CheckedOutTo != null){ 
      s += '<td>' + book.CheckedOutTo.Name + '</td>';  
     } else { 
      s += '<td> <button class="btn_checkout" type="button" id="'+book.Id+'">Check Out</button></td>' 
     } 
     s += '</tr>'; 
    $('.LibraryTable').append(s); 
    } 
    }); 

    return books; 
}; 

警报'got in here'不警告。

谢谢。

+0

在控制台中的任何错误的水平高度?你在这个脚本之前包括jQuery吗? – Mooseman

+0

@Zoranc是对的。 – wootscootinboogie

+0

使用[console](http://webmasters.stackexchange.com/questions/8525/how-to-open-the-javascript-console-in-different-browsers)查看是否有任何*语法错误*正在阻止你的代码被执行。 –

回答

2

您需要的情况下在父

$('.LibraryTable').on("click",".btn_checkout",function()... 
+0

谢谢!我很感激 – AustinT

1
function displayBooks(){ 
    var url = 

    'http://portal.internal.urs.org/tools_services/training_library/_vti_bin/listdata.svc/Book?$expand=CheckedOutTo'; 
     var books = new Array(); 
     $.getJSON(url, function(data){ 
     for (var i = 0; i < data.d.results.length; i++){ 
      var book = data.d.results[i]; 
      books[i] = book; 
      var s = '<tr><td>' + book.Title + '</td>'; 

      if (book.CheckedOutTo != null){ 
       s += '<td>' + book.CheckedOutTo.Name + '</td>';  
      } else { 
       s += '<td> <button class="btn_checkout" type="button" id="'+book.Id+'">Check Out</button></td>' 
      } 
      s += '</tr>'; 
     $('.LibraryTable').append(s); 
     } 
     }); //remove this