zoukankan      html  css  js  c++  java
  • JavaScript开发心得--如何传递某行数据给下一页

    1, 应用场景

    在某个html页面显示一批数据,如20个用户的名称、年龄等,每行都要一个编辑按钮,点击编辑后,将此行数据带入某个专门的编辑页进行显示,修改后保存。

    问题是 点击编辑按钮后,如何得知要编辑的是哪行数据?

    2, 采用隐藏的信息栏传送行号信息

    本人采用在编辑栏<td>中嵌入隐藏的span信息实现,如下:

    			<table>
    					<tr>
    						<th>行号</th><th>车场名称</th><th>地址</th><th>申请人</th><th>申请人电话</th><th>审核操作</th>
    					</tr>
    					<tr ng-repeat="car in cars"  ng-class-even="'tr-even'">
    						<td>{{car.rowNum}}</td><td>{{car.ParkName}}</td><td>{{car.Address}}</td>
    						<td>{{car.OPT}}</td><td>{{car.Tel}}</td>
    						<td><button onclick="DoCheck(this.innerText);">审核<span style="display: none;">{{car.rowNum}}</span></button>
    						</td>
    					</tr>
    			</table>
    

    在处理函数中,分析参数,取出行号

            function DoCheck(rowNumText){
            	//rowNumText形如: 审核1,审核2。。。
            	CurrRow = parseInt(substring(rowNumText,2))-1;
                   ...
            }
    

     3,浏览器兼容问题

     以上代码在IE中运行良好,但到了chrome中,发现取不出行号。参数this.innerText,只含有“审核”二字,不返回隐藏的行号。

    为此,将innerText改为innerHTML,处理函数改为:

            function DoCheck(rowNumText){
                //rowNumText形如:审核<span class="ng-binding" style="display: none;">1</span>
                var sub_string = rowNumText.substring(8,100);
                var index1 = sub_string.indexOf('>');
                var index2 = sub_string.indexOf('<');
                
                CurrRow = parseInt(sub_string.substr(index1+1,index2-index1-1))-1;
    
    。。。。
            }

    以上代码在IE和chrome均正常运行。

  • 相关阅读:
    three.js 制作一个三维的推箱子游戏
    three.js 郭先生制作太阳系
    three.js 制作魔方
    three.js 欧拉角和四元数
    mysql
    重装系统后需要安装的软件
    python3.7 安装PyQt5
    Java读取文件
    linux 环境jdk安装
    linux 修改用户字符集
  • 原文地址:https://www.cnblogs.com/jackkwok/p/6952809.html
Copyright © 2011-2022 走看看