数据表服务器端。异步发送额外的参数

短信

我在服务器端处理中使用数据表。我能够将额外的参数发送到服务器,但是仅在第一次加载表时或由于过滤,排序等原因重新加载表时才发送它们。我希望将额外的参数发送到服务器每次我从选择字段中选择一个值。我该如何实现这种行为?提前致谢。

这是我的数据表脚本

<script>
$(document).ready(function() {
    $('#tabla').dataTable( {
        "sDom": '<"top"l>rt<"bottom"pi><"clear">',
        "processing": true,
        "serverSide": true,
        "sPaginationType": "full_numbers",
        "bProcessing": true,
        "sAjaxSource": "server_side3.php?action=table_data",
        "bDeferRender": true,
        "aLengthMenu": [10, 25, 40],
        "contentType": "application/json; charset=utf-8",
        "dataType": "json",

        "fnServerParams": function ( aoData ) {
            aoData.push( { "name": "year", "value": $( "#year option:selected" ).text() } );
        },
        language: {
        url: '//cdn.datatables.net/plug-ins/380cb78f450/i18n/Spanish.json'
    }

    } ).columnFilter();

} );
</script>

我也尝试了这段代码:

  "fnServerData": function ( sSource, aoData, fnCallback ) {
            /* Add some extra data to the sender */
            aoData.push( { "name": "year", "value": $( "#year option:selected" ).text() } );
            $.getJSON( sSource, aoData, function (json) {
            fnCallback(json)
            } );

和我的HTML

<select id="year"> 
        <?php
        echo '<option value="'.date(Y).' selected">'.date(Y).'</option>';
        for ($i=2005; $i < date(Y) ; $i++) { 
            echo '<option value="'.$i.'">'.$i.'</option>';
        }

        ?>
</select>
马克史密斯

快到了-在选择列表中的值被选中时,您只需添加对fnDraw()的调用即可

$('#year').change(function (e) {
        $('table#tabla').dataTable().fnDraw();
    });

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章