求懂的给看看这个段 jquery 获取当前行数并赋值给VALUE

求懂的给看看这个段 jquery 获取当前行数并赋值给VALUE,第1张

length是取数量,你的目的应该是取顺序,所以用index写会比较好。

$(document)ready(function() {

$('#MyTable tr')each(function( index ) {

$(this)find('td > input')val(index + 1)

});

});

若是之後要增加TR上下移动的功能,可以将取index那段写成一个function,在上下移动後执行一次取index的function即可。

//先获取所有行

var rows=$("#tg")datagrid("getRows");

/然后遍历每一行,取出你需要的那一列对应的值(相当于间接的取了某一列的值)

column_name就是你要取值的列名/ for(var i=0;i<rowslength;i++){ var value=rows[i]column_name; alert(value); }

jQuery 遍历的 eq() 方法将匹配元素集缩减值指定 index 上的一个,index表示元素的位置(最小为 0)。所以获取Table第 i 行第 j 列的内容可用如下代码

$("table")find("tr")eq(i-1)find("td")eq(j-1)text(); // 注意-1是因为index从0开始计数

实例演示

创建Html元素

<div class="box">

<span>填写行列数,点击按钮后获取对应位置的数值:</span><br>

<div class="content">

<table>

<tr><td>1</td><td>2</td><td>3</td></tr>

<tr><td>4</td><td>5</td><td>6</td></tr>

<tr><td>7</td><td>8</td><td>9</td></tr>

</table>

</div>

第<input type="text" name="row">行,第<input type="text" name="col">列<input type="button" class="btn" value="确定">

</div>

添加css样式

divbox{width:300px;height:250px;padding:10px 20px;border:4px dashed #ccc;}

divbox>span{color:#999;font-style:italic;}

divcontent{width:250px;height:100px;margin:10px 0;padding:5px 20px;border:2px solid #ff6666;}

input[type='text']{width:35px;height:30px;border:1px solid #99ccff;}

input[type='button']{width:100px;height:30px;margin:10px;border:2px solid #ebbcbe;}

selected{background:#99ccff;}

table{border-collapse:collapse;}

td{padding:5px 10px;border:1px solid green;}

编写jquery代码

$(function(){

$("input:button")click(function() {

row = $("input[name='row']")val() - 1;

col = $("input[name='col']")val() - 1;

val = $("table")find("tr")eq(row)find("td")eq(col)text();

alert(val);

});

})

观察显示效果

首先 datatable 需要构建 datacolumn

datatable dt=new datatable();

dtcolumnsadd(new datacolumn("列名"))

添加数据方法()

datarow dr=dtnewRows();

dr["xxx"]=xxx;

dtRowsAdd(dr);

1、遍历tr,得到鼠标所在tr的索引值,然后用二楼所说的方法判断奇偶;

2、用jQuery方便很多,在选择器后面加上":even"便选择的是索引值为偶数的元素,加":odd"便是索引值为奇数的元素。

下面是实现的代码,包括jQuery的:

<html>

<head>

<title></title>

<script type="text/javascript" src="jquery/jquery-142js"></script>

<script type="text/javascript">

function changeStyle(elementId) {

var testTable = documentgetElementById("testTable")children[0];

for(var i = 0; i < testTablechildrenlength; i++) {

if(testTablechildren[i] == elementId) {

if(i % 2 == 1) //奇数

elementIdstylebackground = "red";

else //偶数

elementIdstylebackground = "blue";

}

}

}

//清除样式

function changeBack(elementId) {

elementIdstylebackground = "";

}

/

jQuery方法:

/

$(document)ready(function() {

$("#jqueryTable tr:even")mouseover(function() {

$(this)css("background", "red");

});

$("#jqueryTable tr:odd")mouseover(function() {

$(this)css("background", "blue");

});

$("#jqueryTable tr")mouseout(function() {

$(this)css("background", "");

});

});

</script>

</head>

<body>

<table id="testTable" border="1">

<tr onmouseover="changeStyle(this)" onmouseout="changeBack(this)">

<td>第</td><td>一行</td>

</tr>

<tr onmouseover="changeStyle(this)" onmouseout="changeBack(this)">

<td>第</td><td>二行</td>

</tr>

<tr onmouseover="changeStyle(this)" onmouseout="changeBack(this)">

<td>第</td><td>三行</td>

</tr>

<tr onmouseover="changeStyle(this)" onmouseout="changeBack(this)">

<td>第</td><td>四行</td>

</tr>

<tr onmouseover="changeStyle(this)" onmouseout="changeBack(this)">

<td>第</td><td>五行</td>

</tr>

</table>

<table id="jqueryTable" border="1">

<tr>

<td>第一行</td>

</tr>

<tr>

<td>第二行</td>

</tr>

<tr>

<td>第三行</td>

</tr>

<tr>

<td>第四行</td>

</tr>

<tr>

<td>第五行</td>

</tr>

</table>

</body>

</html>

JS获取表格行数和列数

<html>

<head>

<script type="text/javascript">

function show()

{

var tab = documentgetElementById("test") ;

//表格行数

var rows = tabrowslength ;

//表格列数

var cells = tabrowsitem(0)cellslength ;

alert("行数"+rows+"列数"+cells);

}

</script>

</head>

<body>

<table id="test" border="1">

<tr>

<td> </td><td>nbsp;</td>

</tr>

<tr>

<td> </td><td>nbsp;</td>

</tr>

</table>

<input type="button" onclick="show();"/>

</body>

</html>

当都选其中某几项时,如果需要给服务端ajax传递对应项的id值,该如何做呢?

思路应该是这样的:

①获取被勾选项(即checked的checkbox所在行)

②将id存在checkbox所在input的自定义属性中,如 data-id 中

③创建空数组,遍历被选中的checkbox所在行,获取对应的 data-id 值,存入数组中

④将存入的数组转化为字符串,并用逗号隔开(join(','))

示例:

var lastFlag ;

$gridTable = $("#gridTable")jqGrid( {

datatype : 'json',

colNames : ['age', 'sex' ],

colModel : [

{name : 'age',index : 'age',width : 80,editable:true,edittype:'text',editrules:{required:true}},

{name : 'sex',index : 'sex',width : 160,editable:true,edittype:'text',editrules:{required:true}}

],

rowNum : 10,

pager : "#tablePager",

multiselect : false,

viewrecords : true,

sortorder : "desc",

jsonReader : {

root : "dataRows",

repeatitems : false

},

caption : "数据列表",

height : "auto",

rownumbers : true,

onSelectRow : function(id){

if(id && id!=lastFlag){

$('#gridTable')jqGrid('saveRow',lastFlag);

lastFlag=id;

}

$('#gridTable')jqGrid('editRow',id,true);

},

editurl : "/propManagedomethod=doNothing"

})

/ 设置增行按钮的click事件处理 /

$("#addButton")bind("click", function() {

var selectedId = $("#gridTable")jqGrid("getGridParam", "selrow");

var dataRow = {

age: "",

sex: ""

};

var ids = jQuery("#gridTable")jqGrid('getDataIDs');

var rowid = getMaxId(ids) + 1;

if (selectedId) {

$("#gridTable")jqGrid("addRowData", rowid, dataRow, "after", selectedId);

} else {

$("#gridTable")jqGrid("addRowData", rowid, dataRow, "last");

}

})

/ 设置删行按钮的click事件处理 /

$("#removeButton")bind("click", function() {

var selectedId = $("#gridTable")jqGrid("getGridParam","selrow");

if(!selectedId){

alert("请选择要删除的行");

return;

}else{

$("#gridTable")jqGrid("delRowData", selectedId);

}

})

问题1:JQGRID 编辑模式下怎样取行数据?

用户 *** 作模拟:用户新增一行,鼠标点进去,该行进入编辑状态,填写数据,点击保存。

问题出现了: 点击保存以后,需要通过getRowData()获取表格里的数据传回后台,但是当行在编辑状态下时,getRowData()取得的值为类似<input ></input> 的html标签,不是编辑框中输入的值。

解决办法:

alert getRowData()获取出的数据,你会发现<input>标签的id是5_age, 6_age之类的,也就是行id+“_colModel name”,这就好办了,

做法就是找到编辑行的单元格的id,然后得到单元格里的内容,通过"setRowData"将其保存起来,然后再通过getRowData()取值。

示例:

var selectedId = $('#gridTable')jqGrid("getGridParam", "selrow");

var ageId = selectedId + "_age";

var sexId = selectedId + "_sex";

var age= $('#'+ageId)val();

var sex= $('#'+sexId)val();

$('#gridTable')jqGrid('setRowData',selectedId,{age:age,sex:sex},'');

  再通过getRowData()取值,结果正确。

以上就是关于求懂的给看看这个段 jquery 获取当前行数并赋值给VALUE全部的内容,包括:求懂的给看看这个段 jquery 获取当前行数并赋值给VALUE、jquery easyui datagrid 如何获取表格某一列全部数据数据、如何用Jquery获取Table指定行中指定列的数值等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9548238.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-29
下一篇 2023-04-29

发表评论

登录后才能评论

评论列表(0条)

保存