jquery: мобильный стиль не применяется после .load()

#jquery #cordova #jquery-mobile

#jquery #кордова #jquery-мобильный

Вопрос:

 $('#quest').click(function() {
                    $('#replaceit').load('class/cars.php?q=true',function(){$('#replaceit').collapsible('refresh');});
  

«не удается вызвать методы на collapsible до инициализации; предпринята попытка вызвать метод ‘refresh'»

Сгенерированный Html-код, похоже, работает нормально, например:

 <div data-collapsed="true" data-role="collapsible">
<h1>Which warranty policy of the following is the best for you?</h1>
<p><input type="checkbox" value="2yearsunlimittedkilometers" name="question[Warranty][]">2 years unlimitted kilometers
<input type="checkbox" value="3yearsor60000kilometers" name="question[Warranty][]">3 years or 60000 kilometers
</p></div>
  

но все же он не стилизован под сворачиваемый: (.. есть какие-нибудь подсказки?

Комментарии:

1. @Momen Ваш вопрос помог мне понять, где использовать. просмотр списка (‘обновить’) в моем собственном коде: $('#data').load('http://mydomain.com/app2/includes/php/data.php',function() {$('#data').listview('refresh'); . Спасибо!

Ответ №1:

Похоже, вам не хватает некоторых закрывающих скобок при вызове функции

У вас есть это:

 $('#quest').click(function() {
    $('#replaceit').load('class/cars.php?q=true',function() {
        $('#replaceit').collapsible('refresh');
});
  

Похоже, это должно быть так:

 $('#quest').click(function() {
    $('#replaceit').load('class/cars.php?q=true',function() {
        $('#replaceit').collapsible('refresh');
    })
});
  

Также я никогда не видел этого:

 collapsible('refresh')
  

Не могли бы вы предоставить документацию / примеры этого?

Может быть, попробовать:

 $('#replaceit').collapsible().page();
  

Альтернативный синтаксис для вашей HTML-разметки: живой пример:http://jsfiddle.net/Rj6AW/4 /

 <div data-role="page" id="home"> 
    <div data-role="content"> 
        <div data-collapsed="true" data-role="collapsible">
            <legend>Which warranty policy of the following is the best for you?</legend>
            <fieldset data-role="controlgroup" data-role="fieldcontain">                
                <input type="checkbox" value="2yearsunlimittedkilometers" name="question[Warranty][]" id="2yearsunlimittedkilometers" />
                <label for="2yearsunlimittedkilometers">2 years unlimitted kilometers</label>
                <input type="checkbox" value="3yearsor60000kilometers" name="question[Warranty][]" id="3yearsor60000kilometers" />
                <label for="3yearsor60000kilometers">3 years or 60000 kilometers</label>
            </fieldset>
        </div>
    </div>
</div>
  

Комментарии:

1. $(‘#replaceit’).collapsible().page(); была моя проблема 🙂 большое вам спасибо ^.^