花了一晚上的时间解决了一个看似很容易的问题。今晚做的这个东西中由于要获取某列中的一个ID值。如果是用平常的那种JS传值的方式此问题就不存在,但是由于此次用到的都是jquery插件,包括各种弹出框,用JS传值就得用JS那丑陋的弹出框,所以,你懂得。
网上找了很多方法,用起来都不行,后来想到了jquery中的鼠标事件,可以在鼠标经过table时,获得当前行与列的值。页面如下所示:
具体操作就是点击"删除"按钮,然后调用jquery插件页面,这时候需要获得相应行的"ID"进行操作。我的方法是:
先定义一个行数与列数的全局变量,然后在鼠标经过按钮时获得此行的行数与列数并付给此全局变量:
++复制代码++ 代码如下:
var trNum;
var tdNum;
$(function(){
//定义一个鼠标经过事件
$('#users td').hover(
function(){
//获得table的行号
trNum = $(this).parent().parent().find('tr').index($(this).parent()[0])+ 1;
//获得table的列号
tdNum = $(this).parent().find('td').index($(this)[0])+ 1;
}
);
其中,"users"为此table的ID.然后再根据此ID进行业务处理,如下所示:
++复制代码++ 代码如下:
01.//点击"弹出框"选择"确定"后的业务处理
$("#dialog-confirm").dialog({
autoOpen:false,
resizable:false,
height:150,
modal:true,
buttons:{
"确定":function(){
var au_id = $('#users').find('tr:eq(' + (trNum) + ')').find('td:eq(0)').text(); //获得对应第一列的ID值
//业务处理省略
......
},
"取消":function(){
$(this).dialog("close");
}
}}
);
小问题凝聚着大智慧,通过解决问题提高自己学习能力,解决问题的能力,是我一直崇尚的真理!