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

<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

最佳答案

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

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

09-25 17:04