如何将php结果填充到jquery移动列表视图中

时间:2013-04-18 12:46:56

标签: php json jquery-mobile

我的php下面是我的html代码。我试图用php代码填充listview但是失败了,任何想法

<?
require_once("../backend/functions.php");
dbconn();

$id = $CURUSER["id"]; 
$e  = date("Y/m/d");              
$a  = SQL_Query_exec("SELECT enddate FROM cal_events WHERE userid = '$id' 
                       AND enddate > '$e' ORDER BY enddate ASC");

if (mysql_num_rows($a) == 0) {
?>
  <script>
    alert("You have no active events to deal with");
   window.location ='index.html'; 
  </script>

<?
}else{

  $data = array();
  while($rowa = mysql_fetch_array($a))
  { 
    $data[] = $rowa;
  }
  echo json_encode($data);
}

现在我的HTML不正确,这是我需要一些正确方向的帮助

HTML

<script type="text/javascript">
  $(document).on("pagebeforeshow", "#index4", function() {
    $(function(){
      var items="";
      $.getJSON("check-events.php",function(data){
        $.each(data,function(index,item) 
        {
          items+="<li>"+item.enddate+"</li>";
        });
        $("#contacts").html(items); 
        $("#contacts").trigger("change");
      });
    });
  });  
</script>
<ul id="contacts" data-role="listview" data-divider-theme="b" data-inset="true">
</ul>

我哪里错了?它确实填充了列表但没有jquery元素

2 个答案:

答案 0 :(得分:4)

你的php文件返回json,但你应该添加

header('Content-Type: application/json');
回声你的json之前

答案 1 :(得分:3)

您必须刷新列表视图才能触发:

$("#contacts").listview("refresh");