不允许点击

时间:2011-12-23 19:13:33

标签: php javascript jquery html click

我快速写了这篇文章,因为我遇到了问题。如果代码看起来很乱,我道歉。 tbody不可点击吗?没有警报,我没有看到任何明显的错误

相关的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>';

jquery包含在我的文档ready functon

   $("#reserveAPickupAppointmentRoommateAppointment").click (function() {
    alert ("TEST");
   });

2 个答案:

答案 0 :(得分:3)

您的ID与您的班级相匹配的事实有点吓人。我不知道php,但是while似乎您在循环中创建了多个tbody

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

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

http://jsfiddle.net/hEw54/


不知道你的其他代码,我猜你想要桌面上的ID,然后选择它下面的所有tbody元素。

$(document).ready(function() {
    $('#reserveAPickupAppointmentRoommateAppointment tbody').click(function() {
        alert ("TEST");
    });
});

或者您可以直接按类选择:

$(function() {
    $('.reserveAPickupAppointmentRoommateAppointment').click(function() {
        alert ("TEST");
    });
});

我将上面的代码更新为放在jQuery DOM就绪处理程序中。你会注意到这两个例子略有不同。它们基本相同,第二个是第一个的捷径。还有其他一些细微差别,但这里没有什么可担心的。

另请注意,有些人将以下内容误认为是DOM就绪代码:

(function() {

    // I'm not a DOM ready construct

})();

答案 1 :(得分:0)

你不能使用带有TABLE,TBODY或TR的onclick,但你可以使用jQuery子选择器将它附加到TD