如何在以下函数中更改var = messages(通过extend)的值:
我的代码:
(function($) {
$.fn.test= function(options) {
var settings = {
value_1: "100"
}
// Extend the options so they work with the plugin
if(options) {
$.extend(settings, options);
}
var messages = {
remote: "something in german"
}
return this.each(function() {
console.log("german message ",messages.remote);
this.addEventListener("submit", function(o){
console.log("submit");
console.log("shout be in english: ",messages.remote);
o.preventDefault()
})
})
}
}(jQuery));
我尝试了这个没有取得任何成功:
(function($) {
$.extend($.fn.formCheck.messages, {
remote: "Please change this."
});
}(jQuery));
我的jsfiddle:here
我见过similuar here。
答案 0 :(得分:1)
$.fn.formCheck.messages
不起作用的原因是因为undefined
。messages
。您尚未将formCheck
附加到 $.fn.formCheck.messages = {
required: "Dieses Feld ist ein Pflichtfeld.",
remote: "something in german",
email: "Geben Sie bitte eine gültige E-Mail Adresse ein.",
}
。你可以这样做:
messages
分配$.fn.formCheck = function(options) {..
的代码也位于messages
内
功能。这意味着在调用该函数之前message
不存在。为了解决这个问题,请在函数调用之外移动声明,这样它就会一直存在。
如果您愿意,您还可以选择存储本地var messages = $.fn.formCheck.messages;
var:
{{1}}