JQuery获取表格值问题,加急!!加急!!加急!!加急!!加急!!!!!!!!!

小飛不想飛 高级工程师  2013-04-01 03:32:26
如图:


如图所示:数据有很多行,HTML标签是拼出来的,图为页面显示的一行结果,并且我在每一行的价格文本框都加了onkeyup(this)事件,价格也能在JS中通过var price = $(this).val()得到;
因为数据我都是通过JS赋给页面的,所以在赋值的时候我给价格文本框加了属性:**.find("td:eq(10).attr('sum',sum)"),把数量也绑到了价格上面。
问题1:
我通过var sum = $(this).attr('sum');得到的确实underfind。通过Firefox的fireBug看页面代码发现价格文本框上已经绑了sum='245',请问明明有值我通过var sum = $(this).attr('sum');却获取不到。
问题2:如何通过parent(),找父类找的数量文本框获取值?我是这样写的:
1: $(this).parent().find("td:eq(0)").find("input:checked[type=text]").val();
2: $(this).parent().parent().find("td:eq(0)").find("input:checked[type=text]").val();
如上2种都试过,结果都是underfind。
求结果,求原因,我是菜鸟,很急!!
...全文
189 点赞 收藏 7
写回复
7 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
bbjbepzz 2013-04-01
function GetQty(obj){ var qty = $.trim($(obj).val()); var so_no = $(obj).attr("so_no"); }
回复
小飛不想飛 2013-04-01
瞎了,问题解决了!!!obj写成了this.

var so_no = $(this).attr("so_no");
居然犯了这种低级错误,谢谢各位,均分!!!!!!!!
回复
functionsub 2013-04-01
。。。 没搞明白你到底想干什么。。 input本身已经有so_no的属性了,为什么还要去每行的第一个td里去获取
回复
小飛不想飛 2013-04-01
引用 1 楼 wzs_xyz 的回复:
把html中写事件函数的代码发出来



引用 2 楼 bbjbepzz 的回复:
把代码贴出来




引用 3 楼 functionsub 的回复:
1.看你这行代码
JavaScript code?1**.find("td:eq(10).attr('sum',sum)")
你只是给文本框的父元素td加了sum属性,在文本框的keyup事件中,this是指向文本框,而不是td

2. JavaScript code?1$(this).parent().parent().find("td:eq(0)").find……





代码都是拼出来的不好贴
拼的这行td代码:
html.Append("<td align=center><input IsMust='N' kv=\"7\" ValType='String' type=text class='tx'  style='width:40px' onkeyup=\"javascript:GetQty(this)\"  /></td>");


firebug显示结果:


JS赋值绑定代码:

cltr.find("td:eq(7)").find("input").attr("so_no", sp[0]);
cltr.find("td:eq(7)").find("input").val(sp[6]);


JS取值代码:

function GetQty(obj) {
var qty = $.trim($(obj).val());
//var so_no = $(this).parent().parent().find("td:eq(0)").find("input[type=text]").val();
var so_no = $(this).attr("so_no");
alert(qty);
alert(so_no);
}


我so_no是我绑上去的,也是我想获取的值。每行的第一个TD就是放so_no的。帮值的代码应该没什么问题,图片显示都已经绑上去了。应该是获取的代码有问题。
还有functionsub,我用你最后一行代码试了也不行。
回复
functionsub 2013-04-01
1.看你这行代码
**.find("td:eq(10).attr('sum',sum)")
你只是给文本框的父元素td加了sum属性,在文本框的keyup事件中,this是指向文本框,而不是td 2.
$(this).parent().parent().find("td:eq(0)").find("input:checked[type=text]").val();
你这个选择器是怎么样都选不出元素来的,input:checked这已经是已经被勾选了的checkbox了,你再加上type=text是肯定找不到的。 改成
$(this).parent().parent().find("td:eq(0)").find("input[type=text]").val()
回复
bbjbepzz 2013-04-01
把代码贴出来
回复
未知数 2013-04-01
把html中写事件函数的代码发出来
回复
相关推荐
发帖
JavaScript
创建于2007-09-28

8.5w+

社区成员

Web 开发 JavaScript
申请成为版主
帖子事件
创建了帖子
2013-04-01 03:32
社区公告
暂无公告