我正在努力实现雄心勃勃并为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到最终输入。
答案 0 :(得分:5)
您必须先向g.sDiv
选择器添加$('#customSearch')
以找到该元素,否则该元素尚未成为文档的一部分,因此无法使用document.getElementById()
找到该元素
$("body").append(g.sDiv);
$("#customSearch").doSomething();