【发布时间】:2019-06-10 12:22:59
【问题描述】:
我正在从我的数据库中获取数据并通过 php echo 在我的 HTML 中显示它。现在我需要在 ID 为 breakrow 的特定 tr 上放置一个点击功能,但是这个点击功能不起作用。我正在使用文档中建议的.on 函数来动态添加内容。我也没有在控制台中看到任何错误。
这是示例代码。 (当我将相同的代码直接添加到 html 页面中时,它按预期工作)
PHP部分:
echo '<div class="container" id="container">
<table class="gridtable" id="tableMain">
<thead>
<tr class="tableheader">
<th>customer</th>
<th>product</th>
<th>thedate</th>
<th>value</th>
</tr>
</thead>
<tbody>
<tr class="breakrow"><td>customer 01</td><td></td><td></td><td></td></tr>
<tr class="datarow"><td>customer 01</td><td>product 01</td><td>30 10 2017</td><td>974.57</td></tr>
<tr class="datarow"><td>customer 01</td><td>product 02</td><td>04 12 2017</td><td>634.50</td></tr>
<tr class="datarow"><td>customer 01</td><td>product 03</td><td>30 10 2017</td><td>974.57</td></tr>
<tr class="datarow"><td>customer 01</td><td>product 04</td><td>04 12 2017</td><td>634.50</td></tr>
<tr class="breakrow"><td>customer 02</td><td></td><td></td><td></td></tr>
<tr class="datarow"><td>customer 02</td><td>product 01</td><td>04 12 2017</td><td>634.50</td></tr>
<tr class="datarow"><td>customer 02</td><td>product 02</td><td>30 10 2017</td><td>974.57</td></tr>
<tr class="breakrow"><td>customer 03</td><td></td><td></td><td></td></tr>
<tr class="datarow"><td>customer 03</td><td>product 01</td><td>30 10 2017</td><td>974.57</td></tr>
<tr class="datarow"><td>customer 03</td><td>product 02</td><td>04 12 2017</td><td>634.50</td></tr>
<tr class="datarow"><td>customer 03</td><td>product 03</td><td>30 10 2017</td><td>974.57</td></tr>
</tbody>
</table>
</div>';
jquery:
$( document ).ready(function() {
$('#tableMain').on('click', 'tr.breakrow',function(){
$(this).nextUntil('tr.breakrow').slideToggle(200);
});
});
谁能指导我如何解决这个问题?
【问题讨论】:
-
建议: 不要使用 echo 输出大块的 HTML。使用
?>结束PHP 块,编写您的HTML,然后如果需要,使用<?php再次启动PHP 块。这样一来,您就不需要关心转义引号,并且您的 IDE 将能够正确突出 HTML 的语法,使其方式更易于调试。
标签: javascript php jquery html-table