按需调用JavaScript函数导致奇怪的结果

时间:2012-03-08 17:27:10

标签: javascript jquery

我有一个下拉列表,声明如下:

<select onchange="reloadValues(this,event);">
... options here 
</select>   

当用户更改选择时,会调用reloadValues并且一切正常。现在,我想在用户添加包含下拉列表的新行时添加reloadValues,因此我执行了以下操作:

reloadValues(rowToBeAdded.find("select")[0]);

reloadValues函数如下所示:

 function reloadValues(obj, event) {
    {
            var ele = obj.parentElement.parentElement;
            var select2 = ele.cells[2].childNodes[1]; // ele.cells is empty when invoking // the reloadValues on demand through another method. 
    }

任何想法!

obj.parentElement.parentElement is a TR element

1 个答案:

答案 0 :(得分:1)

我遇到此问题一次是因为我在cells元素添加到文档之前访问<tr>。在这种情况下,至少Internet Explorer 8会返回一个空单元格集合。

因此,在调用rowToBeAdded之前,请尝试将reloadValues()附加到您的表格。