cakephp 没有用于x-可编辑表格元素的事件侦听器

jljoyd4f  于 2022-11-11  发布在  PHP
关注(0)|答案(3)|浏览(165)

我有一个动态表,其中一列设置为具有可编辑元素。一旦呈现页面,我就可以编辑第一行中的条目,但此后其他行都没有id的事件侦听器:名字。我不明白为什么。这是我的代码:

$(document).ready(function(){
    //toggle `popup` / `inline` mode
    $.fn.editable.defaults.mode = 'popup';     

    //make name editable
    $('#name').editable();
    ... });

      <tbody>
        <?php foreach ($action_lists as $list_item) {
          echo "<tr>";
              echo "<td> <a href=\"#\" id=\"name\" data-pk=\"{$list_item["ActionList"]["list_index"]}\" data-url=\"/post\" data-type=\"text\" data-placement=\"right\" data-title=\"Enter new name.\" class=\"editable editable-click\">{$list_item["ActionList"]["name"]}</a></td>";
          echo "</tr>";
        }?>
      </tbody>
de90aj5v

de90aj5v1#

$('#name')将根据id查询文档,因此它将返回第一个匹配的元素,因此只需使用类名而不是id,并使用$(“.name”),然后它将应用于所有元素

x7yiwoj4

x7yiwoj42#

我认为您需要使用类名来调用它,而不是从ID调用它,相同的类可以应用于每一列/行,并且在单击每一列/行时将触发单击事件。在此之后,使用“$(this)”将对您有所帮助。

wribegjk

wribegjk3#

尝试使用class而不是id

$(document).ready(function(){
    //toggle `popup` / `inline` mode
    $.fn.editable.defaults.mode = 'popup';     

    //make name editable
    $('.name').editable();
    ... });

      <tbody>
        <?php foreach ($action_lists as $list_item) {
          echo "<tr>";
              echo "<td> <a href=\"#\" class=\"name\" data-pk=\"{$list_item["ActionList"]["list_index"]}\">
data-url=\"/post\" data-type=\"text\" data-placement=\"right\"
data-title=\"Enter new name.\" class=\"editable
editable-click\">{$list_item["ActionList"]["name"]}</a></td>";
          echo "</tr>";
        }?>
      </tbody>

这应该可以正常工作

相关问题