powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / сортировка таблицы через jquery
21 сообщений из 21, страница 1 из 1
сортировка таблицы через jquery
    #38212888
forward12
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем привет.
Есть таблица которую строю динамически на основе пхп скрипта. А потом есть необходимость ее сортировать. Сортировка сейчас запускается, вызывает этот скрипт с нужными параметрами, скрипт выдает ответ в аякс формате, но таблица не пересортировуется а так и висит надпись processing
Шапка таблицы выглядит таким образом
Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
$('#mainTable').dataTable( {
    			//"bJQueryUI": true,
				"sScrollY": 450,
				"sScrollX": "95%",
				//"sScrollXInner": "100%",
        		"bPaginate": true,
	        	"bLengthChange": false,
    	    	"bFilter": false,
	        	"bSort": true,
    			"bInfo": false,
	        	"bAutoWidth": true,
    			"bProcessing": true,
	        	"bServerSide": true,
        		"sAjaxSource": "calc2_data.php<?=$data?>",
        		"aoColumnDefs": [
            		{ "bSortable": true, "aTargets": [ 0 ] }
		        ],
		        "aaSorting": [[ 1, 'asc' ]],
...
Рейтинг: 0 / 0
сортировка таблицы через jquery
    #38212912
Фотография re_qas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
в браузер так и выдает?
Код: javascript
1.
"sAjaxSource": "calc2_data.php<?=$data?>",
...
Рейтинг: 0 / 0
сортировка таблицы через jquery
    #38212933
forward12
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
re_qas,

вышеуказанная строка часть пхп кода, соотвесвенно в браузере уже запрос по другому выгляит. если нужен код страницы из браузера то скоро вставлю.
...
Рейтинг: 0 / 0
сортировка таблицы через jquery
    #38212988
forward12
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вы тянул иннер хтмл из странички.
Там вот такой код.
Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
$(document).ready(function() {
$('#mainTable').dataTable( {
//"bJQueryUI": true,
"sScrollY": 450,
"sScrollX": "95%",
//"sScrollXInner": "100%",
"bPaginate": true,
"bLengthChange": false,
"bFilter": false,
"bSort": true,
"bInfo": false,
"bAutoWidth": true,
"bProcessing": true,
"bServerSide": true,
"sAjaxSource": "calc2_data.php?dt1=02.04.2013&dt2=03.04.2013",
"aoColumnDefs": [
{ "bSortable": true, "aTargets": [ 0 ] }
],
"aaSorting": [[ 1, 'asc' ]], 
...
Рейтинг: 0 / 0
сортировка таблицы через jquery
    #38213220
forward12
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Взял шапку из этой страницы
http://live.datatables.net/#javascript,html,live

но все равно не работает. Может причина в получении данных динамически? Если бы была статическая страница то может быть бы все работало, а то у меня клики по заголовку таблицы заново создают аякс запрос.
...
Рейтинг: 0 / 0
сортировка таблицы через jquery
    #38213250
Фотография re_qas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
что у вас отдает calc2_data.php?dt1=02.04.2013&dt2=03.04.2013 должен быть json массив...
тут без html кода никак... или рабочего примера
...
Рейтинг: 0 / 0
сортировка таблицы через jquery
    #38213271
Фотография re_qas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
сортировка таблицы через jquery
    #38213272
forward12
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
re_qas,

пхп скрипт отдает данные в формате джейсон
{"sEcho":1,"iTotalRecords":455,"iTotalDisplayRecords":455,"aaData":[["G","Акции","","","","","","",""],[1,"Транснф ап","Level |","1.43","-0.98","66853.0000","66909.0000","0.08"]

Вот такого вида строку.
А в самом коде так и написанно echo json_encode( $output );
...
Рейтинг: 0 / 0
сортировка таблицы через jquery
    #38213291
Фотография re_qas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
что выдает js консоль?
...
Рейтинг: 0 / 0
сортировка таблицы через jquery
    #38213313
Фотография re_qas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
сейчас заметил в одной документации идет aoColumns в другой aoColumnDefs о_О
...
Рейтинг: 0 / 0
сортировка таблицы через jquery
    #38213363
forward12
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
re_qas,

собтвенно меня тоже смущает обилие методов сортировки и различных параметров.
Мой ява скрипт код выглядит так
Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
109.
110.
111.
112.
113.
<script type="text/javascript">
		$(document).ready(function() {
    		$('#mainTable').dataTable( {
    			//"bJQueryUI": true,
				"sScrollY": 450,
				"sScrollX": "95%",
				//"sScrollXInner": "100%",
				
        		"bPaginate": false,
	        	"bLengthChange": false,
    	    	"bFilter": false,
	        	"bSort": true,
    			"bInfo": false,
	        	"bAutoWidth": true,
    			"bProcessing": false,
	        	"bServerSide": true,
        		"sAjaxSource": "calc2_data.php<?=$data?>",
        		"aoColumnDefs": [
          { "asSorting": [ "asc" ], "aTargets": [ 1 ] },
         { "asSorting": [ "desc", "asc", "asc" ], "aTargets": [ 2 ] },
         { "asSorting": [ "desc" ], "aTargets": [ 3 ] },
		  { "asSorting": [ "asc" ], "aTargets": [ 4 ] },
         { "asSorting": [ "desc", "asc", "asc" ], "aTargets": [ 5 ] },
         { "asSorting": [ "desc" ], "aTargets": [ 6 ] }
		 
		        ],
				
     "iDefaultSortIndex": 2, 
	 "sDefaultSortDirection": "asc" ,
    

				"fnRowCallback": function( nRow, aData, iDisplayIndex ) {
		            if ( aData[0] == "G" ) {
	                    var nGroup = document.createElement( 'tr' );
	                    var nCell = document.createElement( 'td' );
	                    nCell.className = "group1 left";
	                    nCell.innerHTML = aData[1];
	                    nCell.colSpan = 8;
	                    nGroup.appendChild( nCell );
	                    nRow = nGroup;
	                } else if ( aData[0] == "A") {
	                    var nGroup = document.createElement( 'tr' );
	                    var nCell = document.createElement( 'td' );
	                    nCell.className = "avg1 right";
	                    nCell.innerHTML = aData[1];
	                    nGroup.appendChild( nCell );

	                	var span = 2;
		                for( var j=2; j<aData.length; j++ ) {
		                	if( aData[j] == "" ) {
		                		span++;
		                	} else {
	                    		var nCell2 = document.createElement( 'td' );
	                    		nCell2.className = "avg1";
	                    		nCell2.innerHTML = aData[j];
	                    		nGroup.appendChild( nCell2 );
		                	}
		                }

	                    nCell.colSpan = span;
	                    nRow = nGroup;
		                //$('td:eq(4)', nRow).html( '<b>A</b>' );
		            }
		            for(var i=4; i<=5; i++) {
	            		if(aData[i] > 0) {
		            		$('td:eq(' + i + ')', nRow).addClass( 'green' );
	            		} else if(aData[i] < 0) {
		            		$('td:eq(' + i + ')', nRow).addClass( 'red' );
	            		}
	            	}
		            return nRow;
		        },
    		} );

            $.datepicker.setDefaults( $.datepicker.regional[ "ru" ] );
            $( "#dt1,#dt2" ).datepicker($.datepicker.regional[ "ru" ]);

            $.getJSON('calc2_idata.php<?= $data ?>', function(data) {
              var items = [];

              prevGrp = -1;
              $.each(data, function(key, val) {
                    if(prevGrp!=val[3]) {
                        prevGrp=val[3];
                        items.push('<dt id="' + key + '"><input type="checkbox" name="grp_' + val[3] + '"/>' + val[4] + '</dt>');
                    }
                    items.push('<dd id="' + key + '"><input type="checkbox" name="code_' + val[2] + '" ' + (val[5] ? 'checked' : '') + '/>' + val[0] + '</dd>');
                    
              });

              $('<dl/>', {
                'class': 'my-new-list',
                html: items.join('')
              }).appendTo('div#setuplist');

              $("dt > :checkbox").click(function() {
                var cbs = $(this).parent().nextUntil("dt").children(":checkbox");
                if($(this).attr('checked')) {
                    cbs.attr('checked', 'checked');
                } else {
                    cbs.removeAttr('checked');
                }
              });
            });

            $("a.setup").fancybox(
            {
                "width": 800,
                "height": 300,
                "overlayShow": false,
            });                
		} );
	</script>
...
Рейтинг: 0 / 0
сортировка таблицы через jquery
    #38213439
Фотография re_qas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а у тебя в таблицу изначально данные попадают?
...
Рейтинг: 0 / 0
сортировка таблицы через jquery
    #38213482
forward12
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
re_qas,

да первичное заполнение таблица происходит на ура.
А вот потом ее отсортировать по клику на любом из столбцов вот это проблема.
Мне тут подкинули пару идей про то что надо на кол беки посмореть и зарегистрировать джей сон объект чтобы он потом поддавался сортировке. Ошибок в ява скрипт панели нет. Клацать по таблице можно долго и нудно и ошибок в консоле не будет, равно как и сортировки.
...
Рейтинг: 0 / 0
сортировка таблицы через jquery
    #38213494
Фотография re_qas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
есть подозрение что проблема в
Код: javascript
1.
"bServerSide": true,


сортировать на стороне сервера...
...
Рейтинг: 0 / 0
сортировка таблицы через jquery
    #38213495
Фотография re_qas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
посмотри что у тебя отправляется на сервер, и что сервер тебе возвращает
...
Рейтинг: 0 / 0
сортировка таблицы через jquery
    #38213509
forward12
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
re_qas,

Пасибо!!!!!
Поставил "bServerSide": false,
и все работает на ура! Как говорится а слона то я и не заметил.
...
Рейтинг: 0 / 0
сортировка таблицы через jquery
    #38213727
Фотография re_qas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
зато я бегло изучил либку )))
...
Рейтинг: 0 / 0
сортировка таблицы через jquery
    #38224025
forward12
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
появился еще вопрос. Как исключить некоторые поля из сортировки? А то получается морока, при сортировки полей которые внутри colspan получаются траблы. Также иногда имеют место траблы если в таблице есть разделители строк, т.е. идут строки с данными , потом очередной колспан на всю ширину таблицы с названием нового вида данных и опять данные, и так много раз внутри таблицы. Так вот когда пересортировываю отдельные поля, вот эти вот разделители иногда оказываются все в верху ибо в них пусто ( сортировка по возрастанию).
...
Рейтинг: 0 / 0
сортировка таблицы через jquery
    #38226204
Фотография re_qas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
описывать каждую колонку и там где не нужно "bSortable": false по-идее
...
Рейтинг: 0 / 0
сортировка таблицы через jquery
    #38226746
forward12
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
re_qasописывать каждую колонку и там где не нужно "bSortable": false по-идее
пасибо, попробую, я так понял что там можно и запретить сортировку в обе стороны а разрешить только в одну сторону, - на возростание или на спадание.
...
Рейтинг: 0 / 0
сортировка таблицы через jquery
    #38226786
forward12
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
http://datatables.net/forums/discussion/6089/disable-sorting-for-specific-rows./p1

вот такой линк нашел для запрета сортировки отдельных строк.
...
Рейтинг: 0 / 0
21 сообщений из 21, страница 1 из 1
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / сортировка таблицы через jquery
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]