Jquery bind 不适用于 AJAX 加载的内容
Jquery bind doesnt work on AJAX loaded content
我有这个脚本,它基本上在通用文本框或div中显示表格中所选行的数据。 该脚本在页面首次加载时工作得很好,但我无法让它在 Ajax 加载的内容上运行。我在论坛上检查了几个关于使用 .delegate 或 .on 的线程。我可以通过单击、鼠标输入、鼠标离开来使用它们,但它不适用于绑定......我尝试将"tr.bind"替换为"$(document).delegate($('#Student_List').find('tr'),'click', function(event)",但没有运气...... :-((请帮忙。
我正在与id StudentDetails一起划分Ajax内容。
提前谢谢。
<script type=Javascript/text>
$(function() {
var tr = $('#Student_List').find('tr');
//$(document).delegate($('#Student_List').find('tr'),'click', function(event) {
tr.bind('click', function(event) {
tr.removeClass('row-highlight');
var tds = $(this).addClass('row-highlight').find('td');
var studentId = document.getElementById("STUDENT_ID");
studentId.innerHTML = $(this).children("td:nth-child(1)").text();
var sName = document.getElementById("STUDENT_NAME");
sName.innerHTML = $.trim($(this).children("td:nth-child(2)").text());
$("#STUDENT_PROJECTS").val($.trim($(this).children("td:nth-child(3)").text()));
});
});
</script>
<body>
<div id="StudentDetails">
<span>Student ID:</span><span id="STUDENT_ID"></span>
<br/>
<span>Student Name:</span><span id="STUDENT_NAME"></span>
<br/>
<input type="text" name="STUDENT_PROJECTS" id="STUDENT_PROJECTS"/>
<br/>
<table id="Student_List">
<tr><td>1</td><td>James</td><td>Project 1</td></tr>
<tr><td>2</td><td>Maria</td><td>Project 2</td></tr>
<tr><td>3</td><td>Frank</td><td>Project 3</td></tr>
</table>
</div>
</body>
正如其他人在评论中指出的那样,您需要在非动态父级上使用委托:
$(function() {
$('#StudentDetails').on('click', '#Student_List tr', function(event) {
$('#Student_List tr').removeClass('row-highlight');
var tds = $(this).addClass('row-highlight').find('td');
var studentId = document.getElementById("STUDENT_ID");
studentId.innerHTML = $(this).children("td:nth-child(1)").text();
var sName = document.getElementById("STUDENT_NAME");
sName.innerHTML = $.trim($(this).children("td:nth-child(2)").text());
$("#STUDENT_PROJECTS").val($.trim($(this).children("td:nth-child(3)").text()));
});
});
相关文章:
- 如何更改jquerymobile中默认的加载ajax加载程序gif
- 无法在 IE6 和 IE7 上加载 ajax
- 页面刷新后重新加载 ajax 检索到的数据
- 清理在加载 Ajax 内容时添加的 CSS
- jquery选项卡加载Ajax内容
- Grails:多个加载ajax调用,但只有一个打印到控制台
- 如何检测通过JSON数据引用的图像何时加载AJAX
- 加载ajax数据时出现jVectorMap问题
- JQuery在加载ajax时阻止链接工作
- 如何在不重新加载ajax的情况下在datatable上.draw()或添加行
- 替换超链接默认操作以加载 AJAX 请求
- 高图表不使用加载 ajax 的数组进行渲染
- 带有 OnClick 的 jQuery 链接标记 href 需要单击两次才能加载 AJAX
- 悬停两次以加载 ajax
- 获取加载 ajax 的文档信息
- 使用 Jquery 在 AJAX 内部加载 AJAX
- 为什么当页面加载 AJAX 时我的 URL 之间没有空格
- 在当前页面中加载一个新的谷歌地图,加载AJAX
- 当滚动达到 80% 时加载 ajax
- 图像滑块未加载 Ajax 请求