外国のページを持つ人から入手した小さな JQuery スクリプトがあります。
$(function () {
var $txt = $('input[id$=TextBoxFiltroProv]');
var $ddl = $('select[id$=DropDownListProv]');
var $items = $('select[id$=DropDownListProv] option');
$txt.keyup(function () {
searchDdl($txt.val());
});
function searchDdl(item) {
$ddl.empty();
var exp = new RegExp(item, "i");
var arr = $.grep($items,
function (n) {
return exp.test($(n).text());
});
if (arr.length > 0) {
countItemsFound(arr.length);
$.each(arr, function () {
$ddl.append(this);
$ddl.get(0).selectedIndex = 0;
}
);
}
else {
countItemsFound(arr.length);
$ddl.append("<option>No Items Found</option>");
}
}
function countItemsFound(num) {
$("#para").empty();
if ($txt.val().length) {
$("#para").html(num + " items found");
}
}
});
これは、すべて (HTML コントロール) が既にレンダリングされており、更新パネル内にいくつかの要素が含まれているページで機能します。しかし、もう一方のページには、2 つの更新パネルと 1 つのパネルがあります (非表示で開始されます)。コントロールは ASP.net PANEL 内にあります。コントロールが隠されていることが問題ですか?その場合、パネルが表示され、そのコントロールがレンダリングされたときに、このコードを開始するように JQuery に指示するにはどうすればよいですか? 私は何かを逃したと思うが、それを見ることができない。ありがとう。