2011-05-19 55 views
0

试图制作一个ajax驱动的,可排序的联系人列表。 带有3种替代方式的菜单应该在点击时使用更新的数据呈现新列表。返回一个php数组到jquery ajax并填充一个列表。用一些if()的

被搜索了一下周围,但没有带发现了这个有什么好的信息(从我的理解ATLEAST ..)


这是目前什么填充我的名单。我知道,变数不错的选择..

 <?php 
      if($c['ischeckedin']) 
      { 
       $checkedin='Check Out'; 
       $checked='checkedin';} 
      else{ 
       $checkedin='Check In'; 
       $checked='';} 
     ?> 

     <li id="<?php print $c['id']; ?>" class="clearfix gradient1 <?php print $checked; ?>"> 
      <?php print $c['name']; ?> 

      <img src="options.png" class="options rounded3" alt="options" width="16" height="16" /> 

      <?php if($c['ischeckedin']): ?> 
       <input 
         type="button" 
         class="button checkerout" 
         value="<?php print $checkedin; ?>" 
         name="<?php print $c['id']; ?>" /> 
      <?php else: ?> 
       <input 
        type="button" 
        class="button checkerin" 
        value="<?php print $checkedin; ?>" 
        name="<?php print $c['id']; ?>" /> 
      <?php endif; ?> 
     </li> 

    <?php endforeach; ?> 

所以basicly它的联系人列表。有些被检入,因此不同的类和按钮。 (任何更清洁的建议都比欢迎!)

但现在我需要通过Ajax填充列表,因为我需要能够对其进行排序。所以我发送了一些更多的数据,并且我的php/mysql返回了一些过滤的数据。

<li> - ID应该是来自数据库的ID。 class需要区别'checkedin'和'',这取决于mysql的结果。

<input> - class根据mysql的结果应该是'checkerin'或'checkerout'。 name应该是来自db的id。


问题,我该如何处理从php返回的数据 - > ajax - > print?

如何翻译所有那些令人讨厌的if(),以便我可以在已选中和未经检查的联系人之间做出区别?在返回之前编辑它?

回答

0

让php将数据创建为关联数组并将其作为json_encoded字符串返回给ajax,然后遍历json并创建您的列表。或者,您可以让ajax返回已经创建的页面,并使用该信息填充您的div,只要确保在ajax调用上设置了该选项,以便在需要时执行javascript。

+0

Php已经这么做了。我只是将一个数组放到我的ajax函数中,我不知道该如何处理。我将如何预先填充列表btw? – Xavio 2011-05-20 07:58:59