JQuery:在页面加载时无法为DataTable中的所有页面设置ON / OFF按钮

时间:2018-02-16 07:55:04

标签: jquery datatables pageload

我是JQuery的新手。当页面加载且javascript正在将所选项目的按钮更改为on时,表格中的across multiple页面无效。 页面上的c urrent javascript searches the markup更改按钮。有没有办法可以用datatable API来解决这个问题?请帮助我解释一些示例代码。

$(document).ready(function() {
        datatableBind();
    });

    $('#tblInProcess').dataTable( {
        "drawCallback": function( settings ) {
            //Your button change code will be here.
            datatableBind();
        }
  });

  function datatableBind(){
    var stringJson = $("#DynamicContentJson").val();
        if(stringJson) {
            var dynamicData = $.parseJSON($("#DynamicContentJson").val());
            for(var i=0; i<dynamicData.IdValueStringLists[0].Values.length; i++) {
                var nameText = dynamicData.IdValueStringLists[0].Values[i];                 
                $("tr:contains('"+nameText+"')" ).find('button').addClass('btn-success').text('ON');                
                console.log(nameText)
                $('<input>').attr({
                    type: 'hidden',
                    value: nameText,
                    id: 'Content_DynamicContent_IdValueStringLists[0]_Values',
                    name: 'Content.DynamicContent.IdValueStringLists[0].Values[' + i + ']'
                }).appendTo("#Selected_Items");
            }
        }  
  }

1 个答案:

答案 0 :(得分:1)

如果您正在使用Jquery DataTable plugin,那么以下解决方案将适合您。

您应该将按钮更改代码移动到DrawCallback DataTable事件。当您切换表格的所有页面时,此事件将始终调用。

e.g。

 $('#example').dataTable( {
        "drawCallback": function( settings ) {
            //Your button change code will be here.
        }
  });