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