0

jQuery UI オートコンプリート ウィジェットを動的に追加された入力フィールドにバインドしようとしています。ここでいくつかの投稿を読みましたが、役に立たないようです。

私が使用しているコードは、Ajax を使用してフォームを Django フォームセットに動的に追加することから来ており、オートコンプリートをバインドするように少し変更しました。

ただし、バインドは機能していないようです。新しく追加されたフィールドに入力するたびに、オートコンプリート ボックスが表示されません。私が使用しているコードは次のとおりです。

function cloneMore(selector, type,field) {
    var newElement = $(selector).clone(true);
    var total = $('#id_' + type + '-TOTAL_FORMS').val();
    newElement.find(':input').each(function() {
        var name = $(this).attr('name').replace('-' + (total-1) + '-','-' + total + '-');
        var id = 'id_' + name;

        if ($(this).attr('type') != 'hidden') {
            $(this).val('');
        }
        $(this).attr({'name': name, 'id': id}).removeAttr('checked');
    });
    newElement.find('label').each(function() {
        var newFor = $(this).attr('for').replace('-' + (total-1) + '-','-' + total + '-');
        $(this).attr('for', newFor);
    });
    total++;
    $('#id_' + type + '-TOTAL_FORMS').val(total);
    $(selector).after(newElement);

    /* create the selector string and bind autocomplete */
    var select_string = "#id_"+type+"-"+(total-1)+"-"+field;
    $( select_string).autocomplete({
        source: asset_universe_codes,
    });

}

関数内でオートコンプリートのソースにアクセスできることを確認したので、途方に暮れています。

誰でも助けることができますか?

ありがとう、

ジェイソン

4

1 に答える 1

1

newElementがDOMに追加されていないように見えます。この場合、(オートコンプリートを呼び出す前に)追加すると問題が解決するはずです。

于 2012-04-05T23:05:11.967 に答える