jquery-ui dialog + autocomplete
Здравствуйте. Помогите прикрутить к текстбоксу в диалоге автозаполнение. В коде ниже список автозаполнения появляется, но почему-то только после второго открытия диалога.
Пробовал в диалоге на "open:" вызывать $.ajax(...), тоже через раз и даже реже. Что делаю не так? function showDialog(e) { $('#popupHide').empty(); $('#popupHide').load(e.target.href + ' #EditForm'); $('#popupHide').dialog({ autoopen: false, modal: true, resizable: false, width: 750, height: 250, }); $.ajax({ url: "TSServices.asmx/GetReasons", dataType: "json", type: "POST", contentType: "application/json; charset=utf-8", success: function (data) { $("#ctl00_MainContent_reasonTxt").autocomplete({ source: data.d }); }, error: function (XMLHttpRequest, textStatus, errorThrown) { alert(textStatus + "\n" + errorThrown); } }); e.preventDefault(); $('#popupHide').dialog('open'); } |
Сам нашел. Автозаполнение надо ставить после загрузки текста в диалог. По сути пытался повесить обработчик событий на еще не существующий текстбокс.
function getAutoComplete(){ $.ajax({ url: "TSServices.asmx/GetReasons", dataType: "json", type: "POST", contentType: "application/json; charset=utf-8", success: function (data) { $("#ctl00_MainContent_reasonTxt").autocomplete({ source: data.d }); }, error: function (XMLHttpRequest, textStatus, errorThrown) { alert(textStatus + "\n" + errorThrown); } }); } $('#popupHide').empty(); $('#popupHide').load(e.target.href + ' #EditForm', '', getAutoComplete); |
Часовой пояс GMT +3, время: 07:37. |