JQuery UI автозаполнения в JQuery-Mobile - PullRequest
2 голосов
/ 13 августа 2011

Я использую автозаполнение jquery ui для своего сайта jquery-mobile.Работает без проблем, пока я открываю сайт напрямую.Если я перемещаюсь в сторону с помощью навигации ajax, она не работает.

Редактирование примера тестирования:

<div data-role="page" data-theme="b" id="main" data-add-back-btn="true class="main"">
<div data-role="content">
<input type="search" name="search" id="search" value="" />
</div>
<script>
$('#main').live('pagecreate',function(event, ui) {
var availableTags = [
        "Testone",
        "Testtwo",
        "Testthree"
    ];
$( "#search" ).autocomplete({
    source: availableTags,
    minLength: 2,

});
});
</script>
</div>

1 Ответ

0 голосов
/ 14 августа 2011

У меня есть сайт jQM с автозаполнением, и я столкнулся с аналогичной проблемой: вызов ajax, запускаемый для заполнения параметров автозаполнения, не всегда выполнялся к тому времени, когда страница захотела запустить сам код автозаполнения.

Я объясняю природу запускаемого Javascript (т.е. он асинхронный, так что вы рискуете ...).

Теперь я знаю, что это хак, но добавление небольшого тайм-аута сработало для меня (вам нужно будет поэкспериментировать с периодом времени). В моем приложении что-то вроде этого после кода jQM $(document).bind("mobileinit"...:

<script type="text/javascript">
  $(function(){
    // Horrible, but necessary
    setTimeout(doAutoComplete, 2500);
  });

  function doAutoComplete(){
    $( "#YOUR_FIELD_ID" ).autocomplete({
    // Your ac code here…
    });
  }
</script>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...