昨晚解决select 刷新页面以后选择的值保持不变,要想让seleted不变,有两种思路,

1,在提交表单的时候,将所选择的option的属性设为checked .

2.将option的value或者index带走,事实上这个提交的时候直接就带走了value,创建一个数组,php 用array_search()找到value的index的值,刷新过后再将index的值传入,使用jquery.在页面加载完毕的时候将该index的值选为checked。

我选择的是第二种方法。代码如下,亲测有效;

前台代码(粗体为关键代码)

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>后台管理</title>
<link rel="stylesheet" href="__CSS__/main.css" >
<link rel="stylesheet" href="__CSS__/validate.css">
<script type="text/javascript" src="__JS__/jquery.js"></script>
<script type="text/javascript" src="__JS__/common.js"></script>
<script type="text/javascript" src="__JS__/validate.js"></script>
{$code}
</head>
<body>
<div class="container">
<form name="form1" action="__CONTROLLER__/info">
<h1>学员信息列表&nbsp;
<select id="static" name="rank" onchange="document.form1.submit()" >
<option value="id" >按注册时间查看</option>
<option value="sign">按签到次数查看</option>
<option value="score">按积分数查看</option>
</select>
</h1></form>
<table cellpadding="3" cellspacing="1" align="center" class="box">
<tr>
<th width="50px">头像</th>
<th width="">账号</th>
<th>姓名</th>
<th width="">性别</th>
<th width="">年龄</th>
<th width="">电话</th>
<th width="">城市</th>
<th width="">店铺</th>
<th width="">积分</th>
<th width="">签到次数</th>
</tr>
 <volist name='list' id='vo'>
   <tr class="list">
    <td align="center"><img width="50px" src="__IMG__/head/{$vo.picture}"/></td>
    <td align="center">{$vo.account}</td>
    <td align="center">{$vo.name}</td>
    <td align="center">{$vo.gender}</td>
    <td align="center">{$vo.age}</td>
    <td align="center">{$vo.phone}</td>
    <td align="center">{$vo.city}</td>
    <td align="center">{$vo.shop}</td>
    <td align="center">{$vo.score}</td>
    <td align="center">{$vo.sign}</td>
   </tr>
 </volist>
</table>
<div> {$pap}</div>
</div>
</body>
</html>
由于我使用的人thinkphp框架,所以设计一个问题就是从控制器穿变量到前台js代码的问题,如果直接在在控制器中 $this->assign('code',$code);

在前台js中调用{$code}是没有作用的,所以此时需要在后台直接将<script>.....<script/>中间的代码全部assign到变量。

控制器处理代码如下:

后台代码

public function info()
     {
        $shop=M('stu');
        $count = $shop->count();//查询满足要求的总记录数
        $Page = new \Think\Page($count,6);// 实例化分页类 传入总记录数和每页显示的记录数(2)
        $Page->setConfig('prev','上一页');
        $Page->setConfig('next','下一页');
        $Page->setConfig('last','尾页');
        $Page->setConfig('first','首页');
        $show = $Page->show();// 分页显示输出
         if(I('rank'))//下拉列表选择查看方式
        {
            if(I('rank')=='id')
            {
            $list = $shop->limit($Page->firstRow.','.$Page->listRows)->select();
            }
            else{
                 $list = $shop->limit($Page->firstRow.','.$Page->listRows)->order(I('rank') .' desc')->select();
            }
             
        }
        else
        {
            $list = $shop->limit($Page->firstRow.','.$Page->listRows)->select();
        }
        for($i=0;$i<$count;$i++)//对取出分页数据进行处理,因为之前的签到次数初始值为-1
        {
             $list[$i]['sign']=$list[$i]['sign']+1;
        }
        $a=array('id','sign','score');
        $index=array_search(I('rank'),$a);
        $code='<script type="text/javascript">
        $(document).ready(function(){
           var selectedIndex = '.$index.';
             if(selectedIndex != null) {
             document.getElementById("static").selectedIndex = selectedIndex;
             } ;
        })  
           </script>' ;
        $this->assign('code',$code);
        $this->assign('list',$list);//把各列赋值给list
        $this->assign('pap',$show);// 赋值分页输出
        $this->display(); // 输出模板
      }

最新文章

  1. MD5
  2. Java命令行解析:apache commons-cli
  3. 【C#】第3章学习要点(一)--整体把握
  4. SQL补充
  5. Eclipse++Xdebug开发php环境配置
  6. IOS 开发文件操作——NSFileManager
  7. cscope 的使用
  8. vs 2005中解决找不到模板项
  9. ajax+php如何获取部分请求的信息显示在对应的div中
  10. C++ 拷贝控制和资源管理,智能指针的简单实现
  11. Hibernate学习笔记二:Hibernate缓存策略详解
  12. 一、Swagger配置
  13. meven仓库设置局域网私服
  14. jenkins GitHub 自动触发
  15. 【代码笔记】iOS-tableView滑动的范围函数
  16. Java循环中try...finally...遇到continue
  17. python学习笔记8--面向对象--属性和方法详解
  18. cordova 内部API 用ssl https,报错
  19. .resources文件转为可视化.resx文件
  20. mongodb3.4.15集群搭建

热门文章

  1. 收藏夹里的js
  2. Binary Tree Zigzag Level Order Traversal [LeetCode]
  3. JS添加父节点的方法。
  4. vbscript input select 添加个option根据value值到指定位置--相当于排序
  5. Calculator(补)
  6. 苹果下如果安装nginx,给nginx安装markdown第三方插件
  7. 雅美尓(yaml)实战
  8. pwnable.kr-random
  9. jquery选择相同ID
  10. pyinstaller 用法