我找到了表但无法获取ID

时间:2013-11-19 04:13:00

标签: javascript jquery jqgrid

我有下面的html片段。该表用于JQgrid。

<section id="section_students">
<table id="grid_students"></table>
<a class="btn" href="#">Click</a>
</section>

如果单击同一部分下的按钮,我打算使用JQuery查找表的值。

$("section a.btn").click(function(){
var curGrid = $(this).parent().find('table').get(0);
alert($(curGrid).attr("id"));
});

此警报将返回“未定义”,我无法理解原因 我错过了什么?

编辑:看起来JQGrid更改了表的ID,这很奇怪。我会研究这个,同时,如果有人知道如何防止这种行为,请告诉我。

4 个答案:

答案 0 :(得分:1)

jqGrid会在tabeles和dives的复杂结构中转换原始<table>(示例中为<table id="grid_students"></table>)。您原始代码的最简单修改可能是

$("section a.btn").click(function(){
    var curGrid = $(this).parent().find('table.ui-jqgrid-btable').get(0);
    alert($(curGrid).attr("id"));
});

(我使用jqGrid在原ui-jqgrid-btable上设置<table>类的事实。

答案 1 :(得分:0)

试试这个

$("#section_students").find("a.btn").click(function(){
var curGrid = $(this).parent().find('table').get(0);
alert($(curGrid).attr("id"));
});

答案 2 :(得分:0)

效果很好,你把javascript代码放到了jquery ready()。

$(function(){
    $("section a.btn").click(function(){
    var curGrid = $(this).parent().find('table').get(0);
    alert($(curGrid).attr("id"));
    });
});

答案 3 :(得分:0)

请将您的代码放入$(document).ready(function(){......});

$(document).ready(function(){
    $("section a.btn").click(function(){
    var curGrid = $(this).parent().find('table').get(0);
    alert($(curGrid).attr("id"));
    });
});