Ajax AutoCompleteExtender с javascript

Мне приходится использовать Ajax AutoCompleteExtender несколько раз в веб-форме, где я пытаюсь установить ширину списка AutoCompleteExtender в соответствии с шириной его содержимого.

 function onListPopulated() {
var completionList = $find("AutoCompleteEx").get_completionList();
completionList.style.width = 'auto';
}

Этот метод отлично работает с одним идентификатором поведения, но когда я пытаюсь использовать ту же функцию n, передаю идентификатор AutoCompleteExtender в метод, чтобы для всех AutoCompleteExtenders использовался только 1 метод, тогда ничего не происходит. Я пытался передать идентификатор в качестве параметра, но это не сработало. Может быть, я что-то упускаю.

Заранее спасибо.


person syed mohsin    schedule 11.12.2012    source источник


Ответы (2)


Если вы структурируете метод следующим образом:

function onListPopulated(id) {
  var completionList = $find(id).get_completionList();
  completionList.style.width = 'auto';
}

Это правильно; убедитесь, что вы передаете идентификатор так:

onListPopulated("<%= AutoCompleteEx.ClientID %>");

Использование ClientID гарантирует использование правильного идентификатора.

person Brian Mains    schedule 11.12.2012

Мой вопрос решен с использованием кода ниже

//In the AutoCompleteExtender 
OnClientPopulated="onListPopulated"


//and javascript 
 function onListPopulated(sender, e) {
     var completionList = sender.get_completionList();
      completionList.style.width = 'auto';
 }
person syed mohsin    schedule 13.12.2012