Javascript jQuery双击不处理表行

Javascript jQuery双击不处理表行,javascript,jquery,html,mysql,Javascript,Jquery,Html,Mysql,我正在从远程数据库下载一个表,但当我这样做时,在表中的行上实现双击功能时遇到了问题。我能够对整个表执行双击功能,尽管只使用表的id,如$('#t01')。dblclick(function()){。我想这是因为我正在为服务器端的表生成html文本。我尝试使用我在客户端完全创建的EditTable上的函数,效果很好。有人知道我如何解决这个问题吗?非常感谢您的帮助 html代码: <section class="main-section" id="service"><!--main

我正在从远程数据库下载一个表,但当我这样做时,在表中的行上实现双击功能时遇到了问题。我能够对整个表执行双击功能,尽管只使用表的id,如
$('#t01')。dblclick(function()){
。我想这是因为我正在为服务器端的表生成html文本。我尝试使用我在客户端完全创建的EditTable上的函数,效果很好。有人知道我如何解决这个问题吗?非常感谢您的帮助

html代码:

<section class="main-section" id="service"><!--main-section-start-->
    <div class="container">
        <h2>Mapping</h2>


        <div data-role="content">
            <table id="t01">
            </table>

            <br>
            <br>
            <button data-role="button" id="upload">Upload</button>

            <table id="EditTable">
                <tr>
                    <td>1</td><td>One</td>
                </tr>
                <tr>
                    <td>2</td><td>Two</td>
                </tr>
            </table>

        </div>
    </div>
</section>

映射


上传 1一 2Two
JavaScript代码:

var trackID = new Array();
function onBodyLoad() {

    $.ajax({
        type: 'GET',
        url: 'http://ec2*******************compute.amazonaws.com/downloadAdmin.php',
        success: function (data) {
    // document.getElementById("tblDiv").innerHTML = data;
        var trackID=data.split(" ") ;
     //alert(data);
        printDatabase(trackID);
        }
    });

}

function printDatabase(trackID){
        var tblText='<table style="width:100%"><tr><th style="text-align:center">Recent Journeys</th></tr>';
            var len = trackID.length;
            for (var i = 0; i < len; i++) {
                tblText +='<tr id="\''+trackID[i]+'\'"><td style="text-align:center">' 
                + trackID[i] +'</td></tr>';

            }
            tblText +="</table>";
            document.getElementById("t01").innerHTML =tblText;
}


$(document).ready(function() {
    $('#t01 tr').dblclick(function(){
        alert('Row dblclicked');
    });
});
var trackID=new Array();
函数onBodyLoad(){
$.ajax({
键入:“GET”,
网址:'http://ec2*******************compute.amazonaws.com/downloadAdmin.php',
成功:功能(数据){
//document.getElementById(“tblDiv”).innerHTML=数据;
var trackID=data.split(“”);
//警报(数据);
打印数据库(trackID);
}
});
}
函数printDatabase(trackID){
var tblText='最近的旅程';
var len=trackID.length;
对于(变量i=0;i
确保双击的初始化代码发生在元素创建之后。仅在主体加载之后进行是不够的-此时AJAX还没有返回

$('#t01 tr').dblclick(function(){
   alert('Row dblclicked');
});

在AJAX成功函数中调用PrintDatabase()函数之后。

确保双击初始化的代码发生在元素创建之后。仅在主体加载之后执行是不够的-此时AJAX仍然没有返回

$('#t01 tr').dblclick(function(){
   alert('Row dblclicked');
});
在调用AJAX成功函数的PrintDatabase()函数之后。

请替换

$('#t01 tr').dblclick(function(){
  alert('Row dblclicked');
});

若要捕获在声明事件侦听器后创建的元素上的事件,您应该绑定到父元素或层次结构中更高的元素。您的表是在页面加载完成后动态创建的,而jQuery对此一无所知。

请替换

$('#t01 tr').dblclick(function(){
  alert('Row dblclicked');
});


要捕获在声明事件侦听器后创建的元素上的事件,您应该绑定到父元素或层次结构中更高的元素。您的表是在页面加载完成后动态创建的,jQuery对此一无所知。

您正在链接$(文档)上不存在的元素上的函数.ready。当您使用$('#t01 tr').dblclick(printDatabase()完成后的函数())时,它应该工作。您正在将函数链接到$(document).ready上不存在的元素上。当您使用$('#t01 tr').dblclick(printDatabase()后的函数()时,它应该工作完成了。是的,成功了!花了很多时间在网上寻找,谢谢:)是的,成功了!花了很多时间在网上寻找,谢谢:)