14 jquery autocomplete dynamic
我是jquery的新手,我正在开发一个需要使用自动完成工具动态生成文本框的网页.
我测试$("#some").autocomplete(data);了一些静态内容,它运行得很好.
但是,当我使用动态生成的文本框尝试相同的技术时,它不起作用!
我的代码如下:
$(function() {
$("#button_newproduct").click(function(){
$("#products_table > tbody").append(
"<tr><td><input type='text'name='td_products["+counter+"]'/></td></tr>");
});
var data = "Core celectors cttributes craversing canipulation CSS cvents cffects cjax ctilities".split(" ");
$('input[name^=td_products]').autocomplete(data);
});
Run Code Online (Sandbox Code Playgroud)
谢谢你们,我帮你完成了这件事.
现在,另一个问题.我正在使用DWR call.as加载数组(输入到自动完成)
DwrService.populateProducts(someFunc);
function someFunc(result){
autoProducts=result;
input.autocomplete(result);
}
Run Code Online (Sandbox Code Playgroud)
这里的问题是每次对DB进行DWR调用以获取数组!
有没有办法将DWR中的数组存储在全局变量中?
问候
Kaz*_*zar 11
我认为的主要问题是你在点击处理程序之外调用自动完成.因此,在页面加载时设置自动完成,而不是在单击按钮时设置.
要解决此问题,请将代码更改为:
$(function() {
$("#button_newproduct").click(function() {
var newItem = $("<tr><td><input type='text'name='td_products["+counter+"]'/></td></tr>");
$("#products_table > tbody").append(newItem);
var data = "Core celectors cttributes craversing canipulation CSS cvents cffects cjax ctilities".split(" ");
newItem.find('input').autocomplete(data);
});
});
Run Code Online (Sandbox Code Playgroud)
现在,在每个新项目上设置自动完成,而不是在开始时设置一次.
您需要在添加时为每个元素添加自动完成处理程序.在文档加载上应用它时不存在的元素将永远不会应用它.此外,您最好分别创建行和输入.通过这样做,您可以使用对新创建的输入的引用,并将其与自动完成插件一起使用.
$(function() {
$("#button_newproduct").click(function(){
var input = $("<input type='text' name='td_products["+counter+"]' />");
var row = $('<tr />').append( $('<td />').append(input) );
$("#products_table > tbody").append(row);
var data = "Core celectors cttributes craversing canipulation CSS cvents cffects cjax ctilities".split(" ");
input.autocomplete(data);
});
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
21822 次 |
| 最近记录: |