博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ajax+jquery+flea+smarty实现了通过选择下拉列表动态显示相应的数据
阅读量:2340 次
发布时间:2019-05-10

本文共 1959 字,大约阅读时间需要 6 分钟。

在fleaphp论坛有相关的讨论: =, 但是帖子里面说得不完整。

 

于是自己动手做了尝试

 

修改FleaPHP/Example/Smarty/APP/Controller/Default.php

  1.     function actionIndex() {
  2.         $ajax =& FLEA::initAjax();
  3.         $ui =& FLEA::initWebControls();
  4.          //读取地区性分类 :注册一个ajax方法,当id为islocalesite的select下拉菜单onchange时间出发后,调用服务器端的'GetLocalCategories'方法,以其值作为参数post. 成功后,调用客户端名为setlocaldpl的js函数
      
  5. $this->_registerEvent('#islocalesite''change''GetLocalCategories', array(   
  6. 'data' => '#islocalesite',   
  7. 'success' => 'setlocaldpl',   
  8. ));   
  9.         $smarty =& $this->_getView();
  10.         /* @var $smarty Smarty */
  11.         $smarty->assign('my_var''The smarty template engine.');
  12.         $smarty->assign('islocalesite''1');
  13.         $smarty->display('tpl-index.html');
  14.     }
  15.     function actionGetLocalCategories()   
  16.     {   
  17.         $t = time();
  18.         $nodes = array(
  19.             array('name' => '列表项目 1''class_id' => date('Y-m-d H:i:s', $t++)),
  20.             array('name' => '列表项目 2''class_id' => date('Y-m-d H:i:s', $t++)),
  21.             array('name' => '列表项目 3''class_id' => date('Y-m-d H:i:s', $t++)),
  22.             array('name' => '列表项目 4''class_id' => date('Y-m-d H:i:s', $t++)),
  23.             array('name' => '列表项目 5''class_id' => date('Y-m-d H:i:s', $t++)),
  24.             array('name' => '列表项目 6''class_id' => date('Y-m-d H:i:s', $t++)),
  25.         );
  26.       FLEA::loadClass('FLEA_Ajax');   
  27.       echo json_encode($nodes);   
  28.       exit;
  29.     }

FleaPHP/Example/Smarty/templates/tpl-index.html

  1. <script language="JavaScript" type="text/javascript" src="../../FLEA/FLEA/Ajax/jquery.js"></script>
  2. <script type="text/javascript">   
  3. function setlocaldpl(response)   
  4. {   
  5. alert(response)
  6. var list=eval('(' + response + ')');   
  7. $('#class_id').get(0).options.length=null;   
  8. for(var i=0;i<list.length;i++)   
  9. {   
  10.   //alert(list[i].name)  
  11.   $('#class_id').get(0).options.add(new Option(list[i].name,list[i].class_id));
  12. }   
  13. }   
  14. </script>   
  15. {
    { dump_ajax_js }}
  16. <select name="islocalesite" id="islocalesite">   
  17.           <option value="0" {
    {
    if $islocalesite==0}}selected="selected"{
    {/if}}>无地域性</option>   
  18.           <option value="1" {
    {
    if $islocalesite==1}}selected="selected"{
    {/if}}>有地域性</option>   
  19. </select>   
  20. {
    {webcontrol type="dropdownlist" items=$topcategories name='class_id'}} 

 

转载地址:http://gizvb.baihongyu.com/

你可能感兴趣的文章
redis的过期健删除策略以及内存淘汰机制
查看>>
redis 双写一致性问题
查看>>
map 如何使用结构体作为自定义键值
查看>>
Mysql几种索引类型的区别及适用情况
查看>>
Redis缓存穿透、缓存雪崩、redis并发问题分析
查看>>
Redis持久化的两种方式
查看>>
判断一个数组,是否可以分成两个数组之和相等的数组
查看>>
背包问题
查看>>
结构体变量之间的比较和赋值原理
查看>>
C++ const修饰函数、函数参数、函数返回值
查看>>
将单链表的每k个节点之间逆序
查看>>
删除链表中重复的节点——重复节点不保留
查看>>
2018腾讯校招编程题——最重要的城市
查看>>
删除链表中重复的节点——重复节点保留一个
查看>>
实战c++中的vector系列--正确释放vector的内存(clear(), swap(), shrink_to_fit()).md
查看>>
链表排序.md
查看>>
进程与线程的区别与联系、进程与线程的通信方式
查看>>
C++与C的区别
查看>>
产生死锁的必要条件及处理方法
查看>>
TCP和UDP的区别
查看>>