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指定行中指定列的数值等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)