0

Jqueryのオートコンプリートを動的にテキストボックスで使用しています。これは正常に機能していますが、オンザフライ要素では機能しません。助言がありますか?

私のコード

   $('input#ISBN').each(function () {
        $(this).autocomplete({
            source: '/Cataloging/Bib/GetISBN',
            minLength: 1,
            maxRows: 5,
            select: function (event, ui) {

            }

        });
    });
4

2 に答える 2

0

要素がDOMに追加された、コードを呼び出す必要があります。

IDセレクターを使用しているので、これは1つの要素にのみ使用しているため、ループは必要ないと思います。これが複数の要素の場合は、IDをクラスに変更し、セレクターを次のように変更します。

$('input.ISBN')

コードは次のようになります。

function autoComp(element){
  element.autocomplete({
            source: '/Cataloging/Bib/GetISBN',
            minLength: 1,
            maxRows: 5,
            select: function (event, ui) {

            }

  });
}

$(function(){
    $('input#ISBN').each(function () {
       autoComp($(this));
    });
});

次に、要素を動的に追加する場所はどこでも:

//Element added here
//e.g:
$(".foobar").append(newElement);

autoComp(newElement);
于 2012-11-20T09:59:38.190 に答える
0

まず第一に、動的制御を追加した後よりも、idの代わりにur要素に同じクラスを与えますこれを行うことができます

$('input.ISBN').not('.ui-autocomplete-input').each(function () {
        $(this).autocomplete({
            source: '/Cataloging/Bib/GetISBN',
            minLength: 1,
            maxRows: 5,
            select: function (event, ui) {

            }

        });
    });
于 2012-11-20T10:00:23.700 に答える