在其他服务调用上显示/隐藏数据表列,重新加载页面时出现布局中断

时间:2018-11-01 16:33:43

标签: jquery datatables

这就是我要处理的数据表和复选框的任务。加载时,隐藏列(将其设置为显示:无)。选中复选框后,将其显示。效果很好,但页面上还有其他复选框。选中其中任何一个时,都会进行其他服务调用并重新加载页面,但是由于该列设置为“ display:none”,因此它会隐藏该列并破坏布局,就像这样。有任何想法吗?我快疯了,想找出答案!

布局损坏 enter image description here

正确的布局 enter image description here

我的代码如下。

  /*Show profile checkbox*/
  $adminUserAccountsShowHideProfiles.change(function(e) {
  var $profileChildRows = $adminUserAccountsTable.find('tr.childrow');
  var $profileColumn = $adminUserAccountsTable.find('.admin-user-accounts-profile-column');
  if ( $(this).is(':checked') ) { 
    $profileChildRows.show();
    $profileColumn.show(); 
  } else  { 
    $profileChildRows.hide();
    $profileColumn.hide(); 
  }
});

/*this is for the service call that goes out which reloads the page*/
 $adminUserAccountsDisabledCheckbox.change(function() {
  var $this = $(this);
  ax.UserPrefs('adminUserAccountsCheckboxDisabledSelection',$this.is(':checked'));
  $adminUserAccountsDeletedCheckbox.prop("disabled", false);
  $adminUserAccountsDeletedCheckboxLabel.removeClass("disabled");

  if ($(this).is(':not(:checked)')) {
   $adminUserAccountsDeletedCheckbox.prop("disabled", true);
   $adminUserAccountsDeletedCheckbox.attr("checked", false);
   $adminUserAccountsDeletedCheckboxLabel.addClass("disabled");

  };
  if ($this.hasClass('initted')) {
    setTimeout(function() { ax.Routing.Route(); }, 300); 
  }
});

0 个答案:

没有答案