多次单独使用“$.each”。?
搜索后,单击结果搜索,然后单击示例中输入“INSERT VALUE HERE”旁边的加号(按钮添加输入),在新输入中 $('.auto_complete').keyup(function () { .. .
不起作用。
我认为必须单独绑定事件并使用闭包,以便每个元素都有自己的一组变量(或更改逻辑)这样只使用字段中的值并且不需要任何状态变量),
示例
:参见此处
Js 完整代码: http://jsfiddle.net/6yPxn/
$.each:
var ac = $(this).text();
var ok = $.grep(data, function (e) {
return e.name == ac;
})[0].units;
$.each(ok, function (bu, key) {
//alert(key.name_units);
$("<div class='mediumCell'/>").hide().fadeIn('slow').append('<b>' + key.name_units + '</b>', $('<div class="column" style="float: left;" />')).appendTo(".list_units");
});
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
它运行良好,但我在您提供的代码中没有看到向输入框添加事件处理程序的任何地方。
问题位于 http://www.binboy.gigfa.com/files/js /admin.js,位于顶部附近的某个位置:
当页面加载时,它将多个事件处理程序绑定到输入框等。当您创建一个新功能时,除非您使用 jQuery 的
不会添加此功能>.live
或类似的东西。正如文档所述:我真的不想费力地完成所有嵌套的
click
和delegate
和bind
调用,但我向您保证这就是您的问题所在。要修复它,您可能需要在新创建的节点上运行自动完成部分,使用.live
代替,或者只是.clone
原始版本。It runs fine, but I don't see anywhere in that code you've provided where you're adding an event handler to the input box.
The issue is in http://www.binboy.gigfa.com/files/js/admin.js, somewhere around the top:
When the page loads it binds several event handlers to input boxes and the like. When you create a new one this functionality is not added unless you're using jQuery's
.live
or something similar. As the documentation notes:I don't really want to wade through all the nested
click
anddelegate
andbind
calls, but I guarantee you that's where your problem lies. To fix it you'll probably need to have either the autocomplete section run on your newly created node, use.live
instead, or just.clone
the original.