2

我试图雄心勃勃地向 flexigrid 添加额外的搜索框......我已经深入研究了 flexigrid 脚本并找到了添加搜索元素的位置。然后我添加了自己的输入字段,如下所示:

$(g.sDiv).append("<input type='text' value='' size='30' name='fromDate' id='datepicker' class='qsbox datepicker' />");

g.sDiv 是在脚本前面创建的变量,如下所示:

g.sDiv = document.createElement('div');

我假设这会创建一个 div 并且我可以将项目附加到它。

虽然我无法解决一些事情。如果我附加以下元素:

$(g.sDiv).append("<div id = 'customSearch'></div>");

(确实可以正确渲染),然后尝试使用以下命令附加到该 div:

$('#customSearch').append("<input type='text' value='' size='30' name='fromDate' id='datepicker' class='qsbox datepicker' />");

输入框未添加到页面中。

为什么这种方法行不通?

此外,创建了输入框后,我想添加 datepicker ui。如何对动态创建的项目执行此操作。在应该创建元素后,我尝试添加这行代码:

$('#datepicker').datepicker();

但这不起作用。

我在附加项目时缺少什么,以及如何在附加项目后将 datepicker 添加到最终输入中。

4

1 回答 1

5

您必须首先将选择器添加g.sDiv到文档中$('#customSearch')才能找到该元素,否则该元素还不是文档的一部分,因此无法使用document.getElementById().

$("body").append(g.sDiv);
$("#customSearch").doSomething();
于 2013-01-16T22:00:22.330 回答