Php t车身不允许咔嗒声

Php t车身不允许咔嗒声,php,javascript,jquery,html,click,Php,Javascript,Jquery,Html,Click,我写得很快,因为我有问题。如果代码看起来很混乱,我道歉。t车身不可点击吗?没有警报,我也没有看到任何明显的错误 相关php echo '<table>'; while ($row = mysql_fetch_array($result)) { echo '<tbody class = "reserveAPickupAppointmentRoommateAppointment" id = "reserveAPickupAppointmentRoommateAp

我写得很快,因为我有问题。如果代码看起来很混乱,我道歉。t车身不可点击吗?没有警报,我也没有看到任何明显的错误

相关php

echo '<table>';
while ($row = mysql_fetch_array($result)) { 

echo
'<tbody class = "reserveAPickupAppointmentRoommateAppointment"
        id = "reserveAPickupAppointmentRoommateAppointment">
    <tr>
            <td>'
                .$row["name"].
            '</td>
            <td>
                <span class = "reserveAPickupAppointmentLocaton"
                            id="reserveAPickupAppointmentLocaton">'
                    .$row["location"].
                '</span>
            </td>
            <td>
                <span class = "reserveAPickupAppointmentSubLocaton"
                            id="reserveAPickupAppointmentSubLocaton">'
                    .$row["subLocation"].
                '</span>
            </td>
        </tr>
        <tr>
            <td>
                <span class = "reserveAPickupAppointmentStartTime"
                            id="reserveAPickupAppointmentStartTime">'
                .$row["startTime"].
            '</span>    - 
            <span class = "reserveAPickupAppointmentEndTime"
                            id="reserveAPickupAppointmentEndTime">'
            .$row["endTime"].
                '</span>
            </td>
            <td>
                <span class = "reserveAPickupAppointmentDate"
                            id="reserveAPickupAppointmentDate">'
                .$row["date"].
                '</span>
            </td>
        </tr>
    </tbody>';
}

echo '</table>';

你的身份证与你的班级相匹配这一事实让人有点害怕。我不知道php,但从那时起,您似乎在一个循环中创建了多个tbody

这意味着您将有多个ID为reserveAPickupAppointmentRoommateAppointment的元素。如果是,则无效,并且选择器很可能只匹配第一个

要直接回答您的问题,是的,只要您允许事件冒泡到它上面,tbody就可以有一个处理程序

由于不知道代码的其余部分,我猜您希望在表上显示ID,然后选择它下面的所有tbody元素

$(document).ready(function() {
    $('#reserveAPickupAppointmentRoommateAppointment tbody').click(function() {
        alert ("TEST");
    });
});
或者您可以直接按类选择:

$(function() {
    $('.reserveAPickupAppointmentRoommateAppointment').click(function() {
        alert ("TEST");
    });
});
我更新了上面的代码,将其放在jQueryDOM就绪处理程序中。您会注意到这两个示例略有不同。它们本质上是相同的,第二个是第一个的捷径。还有其他一些细微的差别,但这里没有什么值得关注的

还请注意,有些人将以下错误理解为DOM就绪代码:

(function() {

    // I'm not a DOM ready construct

})();

不能将onclick与表、TBODY或TR一起使用,但可以使用jQuery子选择器将其附加到TD上

,但我希望每个TBODY都是可单击的,然后我将使用JS将文本字符串拉出并插入到我的sql中。在我创建样式表之前,大多数类都只是占位符,名称可能会更改。我想它的工作原理类似于给每个按钮一个类按钮,然后单击该按钮,这是一个非常常见的操作。@radleybobins:然后将ID放在表上,然后像这样选择它$'ReserveApicKupapPointmentRoommateAppointBody'@radleybobins:我用这些信息更新了我的答案,并演示如何按类进行选择。有很多方法可以做到这一点,但最重要的是不要在页面上有重复的ID。@Radleybobbins:那么我猜您是在DOM准备好之前运行jQuery代码的。可能在页面的顶部?要么将脚本移动到关闭内部,要么在DOM就绪处理程序中运行代码。我将更新我的答案以添加DOM就绪代码。好的,你完全正确,我正在生成此表之前运行jquery。当页面加载时我正在加载它,但是现在我应该可以将它粘贴到我的表后面了。我将继续使用它,但我非常确定这就是问题所在,因此我将把它标记为答案更新:这在测试后有效
(function() {

    // I'm not a DOM ready construct

})();