我有一个由Jquery / AJAX加载的表
function initializeDaily() {
jQuery.post(
'ajax-functions.php',
{
'action':'getdailyStatus'
},
function(response){
var html = response
$('#daily_result').append(html) //append to table #daily_result
var rowid = $('#daily_result tr:first-child').attr('id')
getDetails(rowid)
})
}
这适用于所有其他浏览器,而不适用于IE9。 getDetails(rowid)会起作用,所以我不相信语法错误
另一方面,如果我这样做了:
function initializeDaily() {
jQuery.post(
'ajax-functions.php',
{
'action':'getdailyStatus'
},
function(response){
var html = ' <table id="daily_result" cellspacing="0">'+"\n"
html += response
html += ' </table>'+"\n"
$('#data_scroll').html(html) //div that holds the table
var rowid = $('#daily_result tr:first-child').attr('id')
getDetails(rowid)
})
}
表格加载正常但我的$("#daily_result").on("click", "tr", function(event))
无效。
有解决方法吗? 如果有人能告诉我出了什么问题,那将是非常有帮助的。)
**修改
好吧......我设法让它发挥作用。但是,我不认为这是最好的方法。这就是我所做的:
jQuery.post( //its still post
'ajax-functions.php',
{
'action':'getdailyStatus'
},
function(response){
var html = response
$('#data_scroll').html(html)
var rowid = $('#daily_result tr:first-child').attr('id')
//moved my event handler here; after the loading of the table
$("#daily_result").on("mouseenter mouseleave", "tr", function(event){
if(event.type == "mouseenter"){
$(this).css("background","#999")
$(this).css("color","#FFF")
}
else {
$(this).removeAttr('style')
}
})
getDetails(rowid)
})
有什么方法可以做得更好吗?
谢谢。
答案 0 :(得分:0)
尝试
$('#daily_result').load('ajax-functions.php', {
'action':'getdailyStatus'
}, function(){
var rowid = $('#daily_result tr:first-child').attr('id')
getDetails(rowid)
});