質問

私にはLivesearchがあり、このような順序付けられていないリストを使用しています。

<input id="search"/>
<ul id="list>
  <li>1</li>
  <li>2</li>
</ul>

今、私はこれらのアイテムにlivesearch関数を置いています:

$('#search').liveUpdate('#list').focus();

最初は静的リストでテストしていましたが、魅力のように機能しました。今、私はそれを以下のステートメントで非同期ロードしようとしています。

//$('#list').load('/search/organization');
//$('#list').load('/search/person');
//$('#list').load('/search/debitor');
$('#list').load('/search/accountname');

データは通常のように読み込まれますが、今では検索が機能しなくなりました。私はAjaxを使用することに慣れていないので、これはよくある問題でしょうか?

前もって感謝します、

編集:

このコードを追加するか、他の場所で警告すると、1を返します。ULには常に1つの要素しかありません。

$('#list').load('/search/organization');
var test = jQuery('#list');
alert(test.length);

まだソルトは見つかりませんでした。

役に立ちましたか?

解決

プラグインには実際にキャッシュがあります <li> 交換されている要素なので、以前のハンドラーを「バインド」して再び再結合する必要があります。

$('#list').load('/search/accountname', function() {
  $('#search').unbind('keyup').liveUpdate('#list');
});

以来 プラグイン に装備されています .keyup() ハンドラー、あなたはそれを解き放ち、新しいものを追加するだけです。に 本当 クリーンアップ、追加できます .parents('form').unbind('submit'), 、しかし、あなたが持っているなら 他の にハンドラーを送信します <form>, 、それは悪い考えになるでしょう:)

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top