0

我正在使用从数据库行MetroUI CSS创建一个:ListView

<?php

use Phalcon\Mvc\Controller;

class loadReservationTablesController extends Controller
{

    public function indexAction(){
        $request = $this->request;
        if ($request->isPost() == true) {
            if ($request->isAjax() == true) {
                $critere = array();
                $critere['salle_code'] = $_POST['salle_code'];
                $ret = ReservationTable::lireParCritere($critere);
                if ($ret->count() > 0) {
                    $html = '';
                    foreach ( $ret as $key => $val ) {
                        $html .= '<div class="list">
                                    <div class="list-content" id="table_'.$ret[$key]->table_code.'">
                                        <span class="list-subtitle">'.$ret[$key]->table_lib.'</span>
                                        <span class="list-remark">'.$ret[$key]->reserver.'</span>
                                    </div>
                                  </div>';
                    }
                    echo $html;
                }
                else {
                    echo '<br/><div class="sub-header">No records to display</div>';
                }
            }
        }
        $this->view->disable();
    }

}

在视图中:

$(document).ready(function() {

  $("div[id^='table_']").on("click", function(){
    alert("uuuuuu");
  });

});

在运行时警报不显示,并且控制台不包含错误;甚至日志文件也没有错误。当我右键单击该页面以查看其源代码时,记录不在!那么如何解决呢?

4

2 回答 2

3

由于它通过以下方式动态添加element添加事件event delegation

$(document).ready(function() {
    $(document).on("click","div[id^='table_']", function(){
            alert("uuuuuu");
    });
});
于 2015-08-18T09:10:50.057 回答
0

您需要调用一个声明该操作的函数。

function reDeclare(){
 $("div[id^='table_']").on("click", function(){
        alert("uuuuuu");
    });

 });
}

动态生成元素后调用该函数。

于 2015-08-18T09:16:06.593 回答