通过JS获取页面表格选中行信息

  在ASP.NET中表格的显式方法多种多样,有html标签<table></table>,有asp服务器控件GridView,还有Repeater控件等都可以帮我们在页面显式表格信息。GridView控件比较强大,它有自带的属性和方法可以用来对显式的表格数据进行各种操作。但是如果使用传统html标签<table></table>或者是Repeater控件来显式数据,又该如何取到选中行的数据呢。这里我们来介绍一下利用JS来取页面表格数据的方法。

  

  如图所示,我们需要对表格中的数据实现编辑,删除等操作。

  下面以Repeater控件为例:

  (1)页面表格:定义好表头,并设置好数据绑定(有些操作需要取到该条数据的主键,考虑到实际情况,我们应该将主键隐藏,对相应的列使用hidden属性即可)。在后台只需要将Repeater绑定到相应的数据源。这里我们用class来标记button,这样在JS中就可以取出所有的class相同的button作为一组。从而在JS中监听并选定相应行。

 1 <label>出货单单头:</label>
 2                     <asp:Repeater ID="Top_Reapter" runat="server">
 3                         <HeaderTemplate>
 4                             <table id="Top_Table" border="1">
 5                                 <tr>
 6                                     <th hidden="hidden">ID</th>
 7                                     <th>客户ID</th>
 8                                     <th>出货人员</th>
 9                                     <th>创建时间</th>
10                                     <th>更新时间</th>
11                                     <th>编辑</th>
12                                     <th>删除</th>
13                                     <th>新增子信息</th>
14                                 </tr>
15                         </HeaderTemplate>
16                         <ItemTemplate>
17                             <tr>
18                                 <td hidden="hidden"><%#Eval("ship_key")%></td>
19                                 <td><%#Eval("customer_id")%></td>
20                                 <td><%#Eval("ship_man")%></td>
21                                 <td><%#Eval("create_time")%></td>
22                                 <td><%#Eval("update_time")%></td>
23                                 <td>
24                                     <button type="button" class="Top_Edit">编辑</button>
25                                 </td>
26                                 <td>
27                                     <button type="button" class="Top_Delete">删除</button>
28                                 </td>
29                                 <td>
30                                     <button type="button" class="Insert_Line">新增子信息</button>
31                                 </td>
32                             </tr>
33                         </ItemTemplate>
34                         <FooterTemplate></table></FooterTemplate>
35                     </asp:Repeater>

  

  (2)JS部分:通过class来获取相应的一组button并设置监听。然后通过标签名<tr>获取选中行,通过标签名<td>获取选中行所有列数据的一个集合,通过DOM操作将相应的数据显示在前台指定的位置。

 1 /*编辑单头信息*/
 2 var Top_Edit = document.getElementsByClassName("Top_Edit");
 3
 4 for (var i = 0; i < Top_Edit.length; i++) {
 5
 6     Top_Edit[i].index = i;
 7
 8     Top_Edit[i].onclick = function () {
 9
10         var table = document.getElementById("Top_Table");
11
12         /*获取选中的行 */
13         var child = table.getElementsByTagName("tr")[this.index + 1];
14
15         /*获取选择行的所有列*/
16         var SZ_col = child.getElementsByTagName("td");
17
18         document.getElementById("Edit_id").value = SZ_col[0].innerHTML;
19         document.getElementById("edit_customer").value = SZ_col[1].innerHTML;
20         document.getElementById("edit_man").value = SZ_col[2].innerHTML;
21         document.getElementById("Top_Creat_Time").value = SZ_col[3].innerHTML;
22         document.getElementById("Top_Update_Time").value = SZ_col[4].innerHTML;
23
24     }
25 }

  

  JS获取表格数据就这么简单几步。获取表格数据还有jQuery等其他方法,可以多去尝试,然后对比总结,这样对于程序员本身也是一个提高。

时间: 2024-11-05 04:24:52

通过JS获取页面表格选中行信息的相关文章

JS获取页面复选框选中的值

function jqchk(){ //jquery获取复选框值 var chk_value =[]; $('input[class="sel"]:checked').each(function(){ chk_value.push($(this).val()); }); if(chk_value.length==0){ alert('请先勾选您要删除的内容'); return; } console.log(chk_value); var msg = "您真的确定要删除吗?\n

js获取table checkbox选中行的值.mdjs获取table checkbox选中行的

<!DOCTYPE html> <html> <head> <script src="https://cdn.staticfile.org/jquery/1.10.2/jquery.min.js"></script> <script> function check() {         var check = $("input[type='checkbox']:checked");//在tab

[转] easyui 获取数据表格中选中行的数据 Get selected row data from...

原文地址:http://my.oschina.net/meSpace/blog/41463 http://www.easyui.net/2010/06/easyui-tutorial-get-selected-row-data-from-datagrid/ http://easyui.btboys.com/api/      easyui api http://www.iteye.com/problems/47234 jquery easyUI datagrid 的宽度能不能设置成百分比. 数据

js获取页面的宽度

JS如何获取屏幕浏览器网页高度宽度网页可见区域宽:document.body.clientWidth网页可见区域高:document.body.clientHeight网页可见区域宽:document.body.offsetWidth (包括边线的宽)网页可见区域高:document.body.offsetHeight (包括边线的宽)网页正文全文宽:document.body.scrollWidth网页正文全文高:document.body.scrollHeight网页被卷去的高:docume

js获取checkbox复选框获取选中的选项

js获取checkbox复选框获取选中的选项 分享下javascript获取checkbox 复选框获取选中的选项的方法. 有关javascript 获取checkbox复选框的实例数不胜数.js实现: var form = document.getElementById("form2"); var field = form.elements["test2"]; var option = Dining.getSelectedOption(form, field);

通过js获取DropDownList的选中项

1 <html xmlns="http://www.w3.org/1999/xhtml"> 2 <head runat="server"> 3 <title></title> 4 <script src="Scripts/jquery-1.4.1.min.js" type="text/javascript"></script> 5 <script t

获取 ext grid 选中行 对象

在ext grid 中如何确定选中行?如何获取选中行数据? 其实很简单,用到了Ext.getCmp('id'),他可以获取到指定id的对象. grid 获取行对象: var row = Ext.getCmp("Grid_ID").getSelectionModel().getSelections(); row对象就是grid所有选中行的对象集合. 判断一下是否有选中行 [javascript] view plaincopy if (row.length == 0) { Ext.Msg.

js获取页面元素位置函数(跨浏览器)

function getElementPos(elementId) { var ua = navigator.userAgent.toLowerCase(); var isOpera = (ua.indexOf('opera') != -1); var isIE = (ua.indexOf('msie') != -1 && !isOpera); // not opera spoof var el = document.getElementById(elementId); if(el.par

JS获取页面数据执行Ajax请求

下面这个例子展示了如何使用js获取页面中元素的值,并且将这些值作为参数执行Ajax请求. $("#submit-task").bind("click", function (event) { event.preventDefault(); event.stopPropagation(); if(validate() == false){ exit; } var submitBtn = this; // 禁止提交按钮 $(submitBtn).attr('disabl