带有许多输入的jQuery自动完成 - django-dynamic-formset [英] jQuery autocomplete with many inputs - django-dynamic-formset

查看:121
本文介绍了带有许多输入的jQuery自动完成 - django-dynamic-formset的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在使用jQuery自动完成功能( http://jqueryui.com/autocomplete )和Django动态 - formset( http://code.google.com/p/django-dynamic-formset/ )。
我的一个formset字段需要使用自动完成,所以我使用(简化)附加它:

I'm using jQuery autocomplete feature (http://jqueryui.com/autocomplete) and Django dynamic-formset (http://code.google.com/p/django-dynamic-formset/). One of my formset fields needs to use autocomplete, so I attach it using (simplified):

$('input[name$=select]').autocomplete({source:'my_url/', minLength: 3});

我在文档准备就绪时调用它,它工作正常(从ajax获取数据)。但是,如果我使用django-dynamic-formset添加新行并使用以下命令处理其已添加事件:

I call this on document ready and it works fine (gets data from ajax). However, if I add new row with django-dynamic-formset and handle its 'added' event with:

function(row){
    $(row).find('input[name$=select]').autocomplete({source:'my_url/', minLength: 3});
}

它不适用于新添加的行。出了什么问题?

it doesn't work with newly added rows. What's wrong?

更新:
尝试使用类而不是结果
尝试使用on()/ live() - 没有结果
尝试在添加新行后销毁自动完成 - 没有结果(它会破坏,但不会创建)。

UPDATE: Tried to use classes instead - no result Tried to use on()/live() - no result Tried to destroy autocomplete after new row is added - no result (it destroys, but does no create).

推荐答案

我刚用jquery.formset-1.2测试了这段代码,它确实有效:

I just tested this code with jquery.formset-1.2 and it definitely works:

function enableAutocomplete(context) {
    $('input[name$=select]', context || null).autocomplete({source:'my_url/', minLength: 3});
}

$(document).ready(function() {
    $('.foo').formset({
        added: function(row) {
            enableAutocomplete(row);
        }
    });

    enableAutocomplete();
});

这篇关于带有许多输入的jQuery自动完成 - django-dynamic-formset的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆