【问题标题】:Pass options array to jquery Plugin将选项数组传递给 jquery 插件
【发布时间】:2013-01-22 16:04:41
【问题描述】:

我试图避免为每次调用插件编写 optinos 数组,我想知道如何创建一个唯一的共享选项数组来避免这种情况。

这可以应用于此调用,例如:

$(document).ready( function() {
  $('#example').dataTable( {
    "oLanguage": {
      "oPaginate": {
        "sNext": ">"
      }
    }
  } );
} );

我尝试过类似的方法,但它不起作用:

$.dataTable.defaults = {
    "oLanguage": {
        "oPaginate": {
              "sNext": ">"
        }
     }
} 

您可以在此处找到有关我尝试修改的选项数组的更多信息: http://datatables.net/usage/i18n

【问题讨论】:

  • $.fn.dataTable()的定义在哪里?
  • dataTable 是一个 jQuery 插件。
  • 你是如何尝试使用$.dataTable.defaults的?

标签: javascript jquery jquery-plugins datatables


【解决方案1】:

只要先创建对象,调用插件的任何时候都可以传入。

var pluginDefaults = { 
    "oLanguage": {
        "oPaginate": { 
            "sNext": ">" 
        }
    }
};

当准备好调用插件时,像这样使用它:

$('#example').dataTable( pluginDefaults );

【讨论】:

  • 它对我不起作用。我已经尝试过这种方式。在这里您可以找到有关插件和我尝试修改的数组选项的更多信息:datatables.net/usage/i18n
  • @Steve 你能用这种方式展示你的尝试吗?这应该没有问题。
  • 真相。我以 PHP 的方式使用 options 数组,带有 $.解决了。我会在 8 分钟内接受你的回答 :)
  • +1,尽管答案应该包括一个关于如何将默认选项传递给插件的 sn-p。
  • @Ian 感谢您添加示例用法 :) 刚刚意识到我忘记写了!
【解决方案2】:

您可以使用$.extend

$.extend($.fn.dataTable.defaults, {
    "oLanguage": {
       "oPaginate": { 
          "sNext": ">" 
        }
    }
});

这将设置默认的数据表选项,然后您不必一遍又一遍地传递该选项

Documenation

【讨论】:

  • 不错的发现。绝对是 OP 试图做但没有奏效的事情,无论如何都是最有意义的!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-05-11
  • 2017-08-13
  • 1970-01-01
  • 2013-04-06
  • 2013-02-05
  • 1970-01-01
  • 2016-11-08
相关资源
最近更新 更多