отправка данных из таблиц данных в кодировщик - PullRequest
0 голосов
/ 06 июня 2011

У меня отображается таблица данных с использованием jquery datatable с контроллера codeigniter.То, что я хочу знать, - это как отправлять значения из таблицы данных обратно в контроллер и использовать эти значения для извлечения новых записей из БД, а затем снова загружать их на страницу.

Мой текущий код

$(function(){
    $('#tableChart').dataTable( {
        // -------Function for formatting the table data elements-------
        "fnRowCallback": function( nRow, aData, iDisplayIndex, iDisplayIndexFull ) {


                $.each(aData, function (i, elem){                       
                    $('td:eq('+i+')', nRow).html( '<b><font color="#40A913">'+aData[i]+'</font></b>' );
                }) 
                return nRow;
        },



            "bAutoWidth": false,
            "bProcessing": true,
            "bLengthChange": false, // Remove the show list drop down button
            "bInfo": false,         // Remove info part under the table
            "bFilter" : false,      // Remove search box
            "bDestroy": true,           // Remove table & recreate table

            "bServerSide": false,

            "sAjaxSource": "<?php echo base_url(); ?>index.php/print_db_table/get_print_db_table/<?php echo $table_name; ?>",

    });         
});

<div class="container"> 
    <div class="holderForTableChart">   
        <table width ="100%" cellpadding="5" cellspacing="0" class="display" id="tableChart"> 
            <thead> 
                <tr id="tableHeadder" > 
                    <?php
                        foreach($table_header as $item):
                            $header = $item->name;
                            echo '<th>'.$header.'</th>' ;
                        endforeach;
                    ?>                                              
                </tr> 
                <tr>
                <td></td>
                <td>
                <select id=""></select>
                <select id=""></select>
                </td>
                <td>
                <select id=""></select>
                <select id=""></select>
                </td>
                <td>
                <select id=""></select>
                <select id=""></select>
                </td>
                <td>
                <select id=""></select>
                <select id=""></select>
                </td>
                </tr>
            </thead> 
            <tbody> 
                <tr> 
                    <td colspan="6" class="dataTables_empty">Loading data from server</td> 
                </tr> 
            </tbody> 
        </table>    
    </div>
</div>

Теперь, когда я выбираю минимальное максимальное значение в любом из полей выбора, оно должно быть отправлено на контроллер, откуда я могу их отправитьк модели и собрать их и перезагрузить их в представлении

1 Ответ

1 голос
/ 07 июня 2011

гм ... если предположить, что это поле выбора имеет идентификатор как #min_max_value, ваш код JavaScript будет примерно таким, как в коде ниже.Этот код повторно вызывает ajax и перерисовывает таблицу.На контроллере codeigniter вы сможете получить это минимальное максимальное значение как $ _POST ['min_max_value']

Я ссылался на эту страницу в разделе fnServerData для вашей проблемы http://www.datatables.net/usage/callbacks

var oTable = '';
$(function(){
    oTable = $('#tableChart').dataTable( {
        // -------Function for formatting the table data elements-------
        'fnRowCallback': function( nRow, aData, iDisplayIndex, iDisplayIndexFull ) {
                $.each(aData, function (i, elem){                       
                    $('td:eq('+i+')', nRow).html( '<b><font color='#40A913'>'+aData[i]+'</font></b>' );
                }) 
                return nRow;
        },
            'bAutoWidth': false,
            'bProcessing': true,
            'bLengthChange': false, // Remove the show list drop down button
            'bInfo': false,         // Remove info part under the table
            'bFilter' : false,      // Remove search box
            'bDestroy': true,       // Remove table & recreate table
            'bServerSide': false,
            'sAjaxSource': '<?php echo base_url(); ?>index.php/print_db_table/get_print_db_table/<?php echo $table_name; ?>',

            'fnServerData': function (url, data, callback) {
                // Add new data 
                data.push({'name':'min_max_value', 'value':$('#min_max_value').val()});
                $.ajax({
                    'url': url,
                    'data': data,
                    'type': 'POST',
                    'success': callback,
                    'dataType': 'json',
                    'cache': true
                });
            },
    });         

    $('#min_max_value').change(function(){
        oTable.fnDraw();
    });
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...