Добрый день.
Нужна помощь в написании плагина. Посмотрел интернет на эту тему - на всех сайтах одна и та же статья, слизанная друг у друга.
Проблема в том, что не получается передать в плагин ни опции, ни название метода, который хочу использовать. Внутри их просто не видно.
Вот кусок кода (взят из статьи - но, раз не работает, значит написали брехню):
jQuery.fn.formValidation = function(options)
{
var settings =
{
fields: {
name: "name",
surname: "surname",
middlename: "middlename",
phoneNumber: "phoneNumber",
zipCode: "zipCode",
city: "city",
address: "address",
email: "email",
password1: "password1",
password2: "password2"
},
other: [], //[name, regExp, текст, положение tooltip]
tooltipPosition: "right"
};
...//всякие приватные функции...
var methods = {
init: function(options)
{
alert(options); //выдает 0
settings = jQuery.extend({}, settings, options);
//тут идет код
},
validate: function()
{
alert(22222222222);
},
isEmpty: function()
{
alert(111111111111);
}
};
var make = function(method)
{
alert(method);
if(methods[method]) {
return methods[method].apply( this, Array.prototype.slice.call( arguments, 1 ));
}
else if(typeof method === 'object' || ! method ) {
return methods.init.apply(this, arguments);
}
else {
$.error('Метод с именем ' + method + ' не существует для jQuery.formValidation');
}
};
return this.each(make);
};
})(jQuery);
У меня стоит, как видно alert(method), чтобы посмотреть, что передано. Так вот он всегда пишет цифру 0 - даже если в аргументе стоит какая строка с названием. В общем, как нужно написать, чтобы заработало?