• 西安外事学院在省茶艺大赛中创多项佳绩西安外事学院-陕西教育新闻 2019-10-25
  • 人民网评:让军人成为全社会最尊崇的职业 2019-10-17
  • 新规:续航150公里以下新能源车取消补贴 2019-10-11
  • 法国革命时代,女人流行穿什么 2019-10-11
  • 黑龙江省县(市、区)委统战部长培训班举办 2019-10-06
  • “夏季第一瓜”竟是它! 2019-10-06
  • 《阿古顿巴》藏语版在藏语卫视首播 2019-09-06
  • 晋中市“三同步”推动互联网治理创新 2019-08-27
  • 法媒:研究称美国人常用药物或增加抑郁风险 2019-08-27
  • 宝贝是地名,你能想到这么浪漫的地名在哪儿吗? 2019-08-15
  • 何树山副省长到方圆机电调研指导工作 2019-08-15
  • 浙江12选500期走势图:js实现翻页后保持checkbox选中状态的实现方法

    来源:本网整理

    彩票双色球历史开奖结果 www.s9h6.com 项目中的分页使用真分页,每次点击上下页按钮后,再次调用后台方法查询,重新刷新此页面。所以checkbox为false。

    比如酷狗音乐中,上下页选中的歌曲不会保留,只能在每页中选择添加后,再切换下页。

    但是项目中有着需求,所以只能完成实现。

    项目具体的需求如下:给角色授权时,选择??橐约澳?橄碌牟僮?,点击上下页后选中的checkbox不变。

    界面如下:

    实现的思路如下:

    在界面中,使用纯js完成。把选中的checkbox中的id,其中包括??閕d,操作id,拼接成一个字符串,然后把字符串传递到action中。

    每次调用此页面时,首选调用action中的选中的id字符串,然后根据在id字符串的基础上,再次拼接本界面中选中的id。选中的checkbox,需要判断,若不在id容器中,则加载进来;未选中的checkbox,需要判断,若原来在id容器中,则需要删除;

    在页面完全加载完毕后,界面中checkbox与拼接的id字符串容器进行比较,若在字符串容器中,在checkbox自动勾选。否则为false。

    提示说明:

    因为本思路是把拼接的id作为字符串,则在js中获取action中的选中的id字符串时,需要注意语法。

    思路实现代码如下:

    java中获取action的id容器:
    复制代码 代码如下:
    String ids= (String)request.getAttribute("ids");
    if((ids==null)){
    ids="";
    }

    js代码:上一页函数:
    复制代码 代码如下:
    function _prePage()
    {
    var ids="<%=ids%>";
    var checkedIds= new String(ids);

    var modules = document.getElementsByName("module");
    var operates = document.getElementsByName("operate");

    for ( var i = 0; i < modules.length; i++) {
    if (modules[i].type == "checkbox" && modules[i].checked) {
    if(checkedIds.indexOf(modules[i].value)==-1){
    checkedIds=checkedIds+modules[i].value+",";
    }
    //判断??橄碌牟僮?
    for ( var j = 0; j < operates.length; j++) {
    var operateId = new String(operates[j].id);
    operateId = operateId.substring(0, operateId.indexOf(","));
    if (modules[i].value == operateId) {
    if (operates[j].type == "checkbox"&& operates[j].checked) {
    if(checkedIds.indexOf(operates[j].value)==-1){
    checkedIds=checkedIds+operates[j].value+",";
    }
    }

    if(operates[j].checked==false){
    if(checkedIds.indexOf(operates[j].value)!=-1){
    checkedIds=checkedIds.replace((operates[j].value+","),"");
    }
    }
    }
    }
    }

    if(modules[i].checked==false){
    if(checkedIds.indexOf(modules[i].value)!=-1){
    checkedIds=checkedIds.replace((modules[i].value+","),"");
    }
    }
    }

    with(document.forms[0])
    {
    action="roleAuthoriedManager!getModuleOperateBySystem?roleId="
    +document.getElementById("roleId").value
    +"&systemId="+document.getElementById("systemId").value
    +"&pageNo="+<%=pageModelModule.getPreviousPageNumber()%>
    +"&queryString="+document.getElementById("searchById").value
    +"&ids="+checkedIds;
    method="post";
    submit();
    }
    }

    在界面完全加载完毕后js代码如下:
    复制代码 代码如下:
    document.onreadystatechange=statechange;
    function statechange()
    {
    var ids="<%=ids%>";
    var checkedIds= new String(ids);
    if(document.readystate="complete")
    {
    //循环所有的控件
    var inputs=document.getElementsByTagName("input");
    for(var i=0;i<inputs.length;i++)
    {
    if(inputs[i].type=="checkbox")
    {
    if(checkedIds.indexOf(inputs[i].value)!=-1)
    {
    inputs[i].checked=true;
    }
    }
    }
    }
    }

    说明:在做测试时,但是一直提示,函数未定义,不仅提示下页函数未定义,凡是界面上所有的按钮全部提示未定义。所以纠结了很长时间。解决后,拿出分享下。
    遇到这种情况,肯定是页面上有错误。jsp解析成html后,html页面中肯定有语法问题,导致这个html页面无法解析。
    开始的js某一句代码:varids=<%=ids%>;
    查看源文件时,发现js中下一页的某一句代码解析如下:varids=;
    这种语法问题,肯定无法解析,所以才一直无法运行。
    出现这种情况的原因是:var ids=<%=ids%>;从action传过来id容器是空串,所以解析后就成var ids=;
    因为把id容器当作字符串,所以需要var ids="<%=ids%>"即使传过来的是空串,解析结果如下:var ids="";
    总结:遇到整个页面的js函数都无法执行,肯定说明js有问题,某个js函数中的语法问题,导致整个页面无法解析运行。若是某个js函数未定义,则有可能是函数名与标签定义的函数不相同。若是某个js函数中某个语句中某个字符未定义,则会明确提示未定义的字符。

  • 本文相关:
  • jquery判断浏览器类型的代码
  • js判断变量是否未定义的代码
  • js模拟点击事件实现代码
  • JS正则中的RegExp对象对象
  • Javascript的数组与字典用法与遍历对象的属性技巧
  • JavaScript在多浏览器下for循环的使用方法
  • Javascript引用指针使用介绍
  • seajs1.3.0源码解析之module依赖有序加载
  • 关于使用 jBox 对话框的提交不能弹出问题解决方法
  • 探索Emberjs制作一个简单的Todo应用
  • 免责声明 - 关于我们 - 联系我们 - 广告联系 - 友情链接 - 彩票双色球历史开奖结果 - 频道导航
    Copyright © 2017 彩票双色球历史开奖结果 www.s9h6.com All Rights Reserved
  • 西安外事学院在省茶艺大赛中创多项佳绩西安外事学院-陕西教育新闻 2019-10-25
  • 人民网评:让军人成为全社会最尊崇的职业 2019-10-17
  • 新规:续航150公里以下新能源车取消补贴 2019-10-11
  • 法国革命时代,女人流行穿什么 2019-10-11
  • 黑龙江省县(市、区)委统战部长培训班举办 2019-10-06
  • “夏季第一瓜”竟是它! 2019-10-06
  • 《阿古顿巴》藏语版在藏语卫视首播 2019-09-06
  • 晋中市“三同步”推动互联网治理创新 2019-08-27
  • 法媒:研究称美国人常用药物或增加抑郁风险 2019-08-27
  • 宝贝是地名,你能想到这么浪漫的地名在哪儿吗? 2019-08-15
  • 何树山副省长到方圆机电调研指导工作 2019-08-15
  • 上海快3详情 甘肃新11选五走势图 世界乒乓球排名2019年7月 网络赚钱论坛源码 龙虎正规平台 彩票30选5开奖结果 宜昌福彩中心在哪里 福彩老快3直播 正规的购彩app 生肖时时彩怎么玩 青海快三结果 逆袭分分彩安卓 pk10三码必中规律 全讯网曾道人图纸 51计划网pk10秒速飞艇