Php Jquery不工作(可能是AJAX重新加载,或者可能只是语法不好?)

Php Jquery不工作(可能是AJAX重新加载,或者可能只是语法不好?),php,javascript,jquery,html,ajax,Php,Javascript,Jquery,Html,Ajax,我正在使用这个Jquery: $('#resultstable').on('click', 'tbody tr', function() { alert("helloworld") $('#resultstable tr.Selected').removeClass('Selected'); $(this).addClass('Selected'); }); 它应该在单击时将所选类添加到TR。它还应该删除所选类的任何其他实例。(一次只能选择一个TR) 它正在这张桌子上工作:

我正在使用这个Jquery:

$('#resultstable').on('click', 'tbody tr', function() {
alert("helloworld") 
$('#resultstable tr.Selected').removeClass('Selected');
$(this).addClass('Selected');
});
它应该在单击时将所选类添加到TR。它还应该删除所选类的任何其他实例。(一次只能选择一个TR)

它正在这张桌子上工作:

        <table id="resultstable">

            <tr id="resultsheading">
                <th OnClick="OrderBy(0)">Module<br /> Code</th>
                <th OnClick="OrderBy(1)">RoomID</th>
                <th OnClick="OrderBy(2)">Students</th>

                <th OnClick="OrderBy(3)">Priority</th>
                <th OnClick="OrderBy(4)">Weeks</th>
                <th OnClick="OrderBy(5)">Day</th>
                <th>Start Time</th>
                <th>Length</th>
                <th>End Time</th>

                <th OnClick="OrderBy(6)">Date Added</th>
            </tr>
<tbody>
    <tr id= "192" > 
        <td>11COA121</td>
        <td>CC012</td>
        <td>340</td>
        <td>Yes</td>

        <td>All</td>
        <td>0</td>
        <td>1</td>
        <td>1</td>
        <td>2</td>
        <td>0000-00-00 00:00:00</td>

    </tr>       
</tbody>
</table>
目前,它没有做任何事情,甚至没有运行,它没有发出警报。问题是什么

应该注意的是,JS控制台上没有出现错误


谢谢大家!

选择与此代码一起工作


Se JSFIDLE:

我想您可能需要更改:

$('#resultstable').on('click', 'tbody tr', function() {
致:


因此,它将继续处理动态加载的数据。

我认为问题在于这一行

$('#resultstable').on('click', 'tbody tr', function() {
如果我理解正确,那么您放置的选择器将把事件处理程序附加到表中当前的tbody和tr元素,因此当您添加新的tr元素时,不会为新行触发事件处理程序

你可以试试这样的东西

$('#resultstable').on('click', function(event) {
    if ($(event.target).is('tr') || $(event.target).is('tbody')) {
        // ... do logic in here
    }
});

基本上,根据event.target属性将目标过滤到tr或tbody上。

它为我运行:在IE和Chrome中也适用于我。看看AJAX调用返回的HTML,问题可能就在那里。
on
live
=同样的事情。。。。从jQuery1.7开始,不推荐使用
.live()
方法。使用
.on()
附加事件处理程序。较旧版本的jQuery用户应优先使用
.delegate()
,而不是.live().Cool。谢谢你的提醒。出于某种原因,它正在与一起工作。生活,而不是与。on。但是($this)位不起作用。我感觉它出错了,因为它是动态更新的。有什么想法吗?你可以尝试分配
var行=$(这个)row.addClass('Selected')
$('#resultstable').on('click', 'tbody tr', function() {
$('#resultstable').on('click', function(event) {
    if ($(event.target).is('tr') || $(event.target).is('tbody')) {
        // ... do logic in here
    }
});