Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Необходимость alert перед функцией (https://javascript.ru/forum/jquery/52003-neobkhodimost-alert-pered-funkciejj.html)

kyt 30.11.2014 01:07

Замена alert на setTimeout(function() { }, 500) проблемы не решает.
Ошибок нет, ячейки не крашеные

bes 30.11.2014 01:09

MallSerg, я понял твою мысль, убирает alert, ячейки есть, но не красятся
Цитата:

Сообщение от kyt
Замена alert на setTimeout(function() { }, 500) проблемы не решает.
Ошибок нет, ячейки не крашеные

скриптом таблицу создаёшь?

kyt 30.11.2014 01:15

Ссылка вот. http://learn.javascript.ru/play/QuAc8b Аякс и css не прилетели. Пилено из http://www.datatables.net/.
Представляю немного моего js-прона)

kyt 30.11.2014 01:17

Ну да, Аяксом из базы тяну.

kyt 30.11.2014 01:28

Еще наблюдение:
setTimeout(function() {alert('trtrt'); }, 500);

вместо alert ячейки не красит.

bes 30.11.2014 01:30

Цитата:

Сообщение от kyt
Ну да, Аяксом из базы тяну.

раскраску в success делаешь?
не нахожу пока там в документации события готовности таблицы к работе, то есть когда данные уже подтянуты и помещены в ячейки

bes 30.11.2014 01:34

вот так наверное делать нужно, помещая код раскраски в callback-функцию
http://datatables.net/reference/option/ajax
Цитата:

function ajax( data, callback, settings )
Description:
As a function, making the Ajax call is left up to yourself allowing complete control of the Ajax request. Indeed, if desired, a method other than Ajax could be used to obtain the required data, such as Web storage or an AIR database.

When the data has been obtained from the data source, the second parameter (callback here) should be called with a single parameter passed in - the data to use to draw the table.

Simple example:

?
1
2
3
4
5
6
7
$('#example').dataTable( {
"ajax": function (data, callback, settings) {
callback(
JSON.parse( localStorage.getItem('dataTablesData') )
);
}
} );

kyt 30.11.2014 01:44

Не вполне Вас понял. Сначала мне придется сообразить что есть "...callback-функцию" и " ...в success делаешь?".
Я пока ковырялся с функцией рони. Заработала такая конструкция
$('#my_table tr').each(function() {var text = $('td', this).eq(28).text();
			if(text == '0'){
				$(this).addClass("activ");
				alert ('if');
				}
			else {
				$(this).addClass("activ");
				alert ('else');
				}
			});

Причем только else и c alert.

bes 30.11.2014 01:48

Цитата:

Сообщение от kyt
е вполне Вас понял. Сначала мне придется сообразить что есть "...callback-функцию" и " ...в success делаешь?".

тут надо прерваться и почитать как работает ajax и осознать слово "асинхронность"
alert тебе тормозит выполнение кода, за это время данные уже подтягиваются и твоё сравнение в if срабатывает, а пока не подтянулись, сравнивать не с чем

kyt 30.11.2014 01:53

Вы правы. Читать уже начал. Большое Вам спасибо!
Последний вопрос. А в чем тогда проблема setTimeout? Почему он не работает?


Часовой пояс GMT +3, время: 22:23.