Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > JavaScript: Общие вопросы > jquery - при динамике стили не подключаются


Автор: AGENTxXx 3.8.2012, 16:24
Добрый день! 
Не знаю как бороться с данной ситуацией:
Через ajax получаю с сервера элементы списка, но когда добавляю их в список, то они не оформляются по форме jquery оформления (т.е. оформление использую стандартное). Какую функцию вызвать или что сделать, чтобы они тоже смогли принять оформление?

Из решений, только вижу добавлять вручную стили, но там блин так много разных классов подключается автоматически - думаю это не рационально. 

В инете искал - вообще ни чего общего не нашел (ну или так и не догадался как запрос написать)
В общем, буду рад если поможете. 

Автор: baldina 3.8.2012, 16:54
Цитата(AGENTxXx @  3.8.2012,  16:24 Найти цитируемый пост)
т.е. оформление использую стандартное

какое?

наверно старые элементы списка имеют некий class, а новые - нет

Цитата(AGENTxXx @  3.8.2012,  16:24 Найти цитируемый пост)
они не оформляются по форме jquery оформления

что такое jquery оформление? если это оформление делается по событию, посмотрите в сторону live варианта

Автор: AGENTxXx 3.8.2012, 17:34
Ну в общем дело обстоит так:
В документе имеется следующий код:
Код

<div class="content-primary" >    
<ul data-role='listview' id="games_list"><li>
 <a href='index.html'>
 <img src='images/default.png'/>
 <h3>aaaaaaaaa</h3>
 <p>bbbbbbb</p>
 </a>
 </li>
</ul>
</div>


Но в браузере этот код преобразуется автоматически (не без помощи конечно jquery видно):
Код

<div class="content-primary">
<ul class=" ui-listview " id="games_list" jQuery17105262674836299914="6" data-role="listview">
<li class="ui-btn ui-btn-icon-right ui-li-has-arrow ui-li ui-li-has-thumb ui-btn-up-c" jQuery17105262674836299914="7" data-theme="c" data-corners="false" data-shadow="false" data-iconshadow="true" data-wrapperEls="div" data-icon="arrow-r" data-iconpos="right">
<div class="ui-btn-inner ui-li" jQuery17105262674836299914="8">
<div class="ui-btn-text" jQuery17105262674836299914="9">
<a class="ui-link-inherit" href="index.html">
<img class="ui-li-thumb" src="images/default.png" complete="complete"/>
<h3 class="ui-li-heading">aaaaaaaaa</h3>
<p class="ui-li-desc">bbbbbbb</p>
<span class="ui-icon ui-icon-arrow-r ui-icon-shadow" jQuery17105262674836299914="10">
</li>
</ul>
</div>


Далее есть мой скрипт:
Код

for (i = 0; i < response.data.length; ++i)
                        {
                            games_list += "<li>\r\n\t<a href='index.html'>\r\n\t\t<img src='images/"+response.data[i].icon+"'/>\r\n\t\t<h3>"+response.data[i].name+"</h3>\r\n\t\t<p>"+response.data[i].description+"</p>\r\n\t</a>\r\n</li>\r\n";
                        }
$("#games_list").append(games_list); 


пробовал так же вместо append метод  html(games_list); 

В итоге, так как в данном скрипте классы уже не подключаются, то он сам не подключает уже ни какие классы (и другие настройки)(( а мне они так нужны... можете посмотреть только на тег li, как там много всякого написано блин

Автор: baldina 4.8.2012, 00:28
Цитата(AGENTxXx @  3.8.2012,  17:34 Найти цитируемый пост)
не без помощи конечно jquery видно

ну это Вам виднее))))))))

где-то этот ul устанавливается как jquery sortable или что-то в этом роде
Обновить список (в т.ч. добавленные элементы) можно примерно так:
Код

$("#some_list").sortable("refresh");


Добавлено через 1 минуту и 32 секунды
у Вас видимо мобильный api, значит не sortable а listview

Добавлено через 3 минуты и 12 секунд
http://jquerymobile.com/test/docs/lists/lists-methods.html

Автор: AGENTxXx 4.8.2012, 09:34
Я так и думал, что какая-то загибулина должна быть! Все теперь хорошо, все работает! БОЛЬШОЕ БОЛЬШОЕ СПАСИБО! 
СУПЕР!!!! =)

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)