如何更改J表中默认的+Add New Record
链接文本?
直接从JTable的作者那里获得,这是迄今为止实现这一目标的最佳方式。
$('#MyTableContainer').jtable({
messages: {
addNewRecord: 'Add new whatever'
},
actions: {
//Action definitions comes here
},
fields: {
//Field definitions comes here
}
});
查看jTable的本地化功能,尽管它专门用于不同的语言,但您可以轻松利用此功能,为您的项目创建一个新的Localization.js文件。通过这种方式,您可以始终更新到最新版本的jTable,而无需担心对核心jTable.js库文件所做的更改。你永远不应该直接更改你在项目中引用的核心第三方库,因为你总是到了必须升级才能获得第三方图书馆资产的最新新功能或修补程序的时候,你会陷入困境,因为你不记得你到底更改了什么,也不记得如何将更改转移到最新版本。
http://www.jtable.org/apireference#Localization
因此,在我的项目中,我有一个加载"Job"数据类型的jTable。因此,我简单地在/Scripts/jtable/localization目录中创建了一个名为jquery.table.jobs.js的自定义目录和文件,这和任何地方一样好,但你可以把扩展消息js文件放在任何地方。这是jquery.table.jobs.js:中的代码
/*
jTable localization file for jobs grid
*/
(function ($) {
$.extend(true, $.hik.jtable.prototype.options.messages, {
serverCommunicationError: 'An error occured while communicating to the server.',
loadingMessage: 'Loading jobs...',
noDataAvailable: 'No data available!',
addNewRecord: 'Add New Job',
editRecord: 'Edit Job',
areYouSure: 'Are you sure?',
deleteConfirmation: 'This job will be deleted. Are you sure?',
save: 'Save Job',
saving: 'Saving Job',
cancel: 'Cancel',
deleteText: 'Delete Job',
deleting: 'Deleting Job',
error: 'Error',
close: 'Close',
cannotLoadOptionsFor: 'Can not load options for field {0}',
pagingInfo: 'Showing {0}-{1} of {2} Jobs',
pageSizeChangeLabel: 'Row count',
gotoPageLabel: 'Go to page',
canNotDeletedRecords: 'Can not deleted {0} of {1} records!',
deleteProggress: 'Deleted {0} of {1} records, processing...'
});
})(jQuery);
希望你和我一样使用捆绑和最小化功能,所以我刚刚添加到我的BundleConfig.cs类中:
//====================================================================
//Add jtable localization bundles for Customer messages for each type of data being managed by a jTable
//====================================================================
bundles.Add(new ScriptBundle("~/bundles/jtable-custom-messages-jobs").Include(
"~/Scripts/jtable/localization/custom/jquery.jtable.jobs.js"));
bundles.Add(new ScriptBundle("~/bundles/jtable-custom-messages-customers").Include(
"~/Scripts/jtable/localization/custom/jquery.jtable.customers.js"));
//====================================================================
然后在我的工作视图中,我简单地添加:
@Scripts.Render("~/bundles/jtable-custom-messages-jobs");
当然,在我的客户视图中,有一个加载"客户"类型数据记录的jTable,我添加了:
@Scripts.Render("~/bundles/jtable-custom-messages-customers");
捆绑jquery-customer消息customers只是捆绑另一个jTable本地化覆盖脚本:/Scripts/jTable/localization/jquery.jTable.customers.js,其中包含特定的消息,如"添加新客户"而不是"添加新作业"。
打开jquery.jtable.js(甚至是缩小版),ctrl+f,搜索"添加新记录"以在文件中查找属性。然后将其更改为要显示的内容。