jquery 自动完成动态生成的文本框

标签 jquery dynamic autocomplete

我是 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);
});

谢谢大家,在你们的帮助下我已经完成了这件事。

现在,另一个问题。我正在使用 DWR 调用加载数组(自动完成的输入)。如下

DwrService.populateProducts(someFunc);
function someFunc(result){
    autoProducts=result;
    input.autocomplete(result);
 }

这里的问题是每次对数据库进行 DWR 调用来获取数组!

有没有办法将 DWR 中的数组存储在全局变量中?

问候

最佳答案

我认为主要问题是您在点击处理程序之外调用自动完成功能。因此,自动补全是在页面加载时设置的,而不是在单击按钮时设置的。

要解决此问题,请将代码更改为:

$(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);

    });
});

现在,自动完成功能会在每个新项目上设置,而不是在开始时设置一次。

关于jquery 自动完成动态生成的文本框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1492198/

相关文章:

javascript 本地存储不工作

c# - 使用动态文件名读取存储在资源文件 (resx) 中的字符串

c++ - 什么时候使用动态数组而不是静态数组合适?

C 在动态二维字符数组中插入字符串或(char*),段错误

html - 如何禁用 iOS Chrome 密码/信用卡自动填充?

php - 按键自动完成对 300 万行表的查询

javascript - 为什么 jquery 日期选择器插件不起作用

javascript - Div 覆盖 Canvas ,鼠标悬停

generics - Scala 泛型和控制台自动完成

javascript - 是否可以包含许多 .js 文件以使我的代码看起来模块化?