При частичной обратной передаче обновляется разметка, поэтому элемент с идентификатором DDL_Guests
больше не будет привязан к коду jQuery, который вы используете при первой загрузке страницы.
Так что вам нужноперепривязать ваш код jQuery после того, как произошло частичное событие обратной передачи.
Чтобы решить эту проблему, вам нужно добавить обработчик события endRequest
в ваш код и вызвать функцию, которая снова свяжет виджет с DDL_Guests
элемент, как в следующем коде
$(document).ready(function () {
jQueryInit();
});
function load() {
Sys.WebForms.PageRequestManager.getInstance().add_endRequest(jQueryInit);
}
function jQueryInit() {
$("[id$='DDL_Guests']").fcbkcomplete({
json_url: "../../Search.asmx/SearchAC",
cache: false,
filter_case: false,
filter_hide: true,
firstselected: true,
onremove: RemoveItem,
onselect: AddItem,
filter_selected: true,
maxitems: 10,
newel: true
});
}
Затем просто вызовите функцию load
из разметки вашего тела
<body onload="load()">
, используя этот трюк, и ваш jQuery-код внутри функции jQueryInit()
будет привязанпри первой загрузке страницы через $(document).ready(function () {}
и повторной привязке после частичной обратной передачи страницы, вызванной UpdatePanel
Надеюсь, это поможет