На самом деле проблем нет, я просто знаю, что мой нынешний плагин Jquery работает не так, как он, и я надеюсь, что кто-то может направить меня в правильном направлении.
Итак, это поведение плагина: 1. При нажатии на ссылку с определенным классом (может быть несколько ссылок с одним и тем же классом), опции передаются плагину, некоторые жестко запрограммированы, но некоторые собираются из данных.-attributes.2. Показан мод загрузки (пустой модал).3. Аякс пост на внешнюю страницу с опциями из функции размещен.5. Ajax success callback помещает новое html-содержимое в модальное поле для отображения.
Это мой текущий плагин jquery
(function($){
$.fn.custom_xedit = function( options ) {
var settings = $.extend({
type: this.attr("data-type"),
selectsource: this.attr("data-selectsource"),
mask: this.attr("data-mask"),
title: this.attr("data-title"),
pk: this.attr("data-pk"),
posturl: this.attr("data-posturl"),
originalvalue: this.attr("data-originalvalue"),
name: this.attr("data-name")
}, options );
this.addClass('xedit___el___active');
$('#xedit_modal').modal({
backdrop: 'static',
keyboard: false
});
$.ajax({
type: 'POST',
url: 'url',
data: {
'type': settings.type,
'selectsource': settings.selectsource,
'mask': settings.mask,
'title': settings.title,
'pk': settings.pk,
'posturl': settings.posturl,
'originalvalue': settings.originalvalue,
'name': settings.name
},
success: function(callback_modal){
$("#xedit_modal").html(callback_modal);
}
});
};
}( jQuery ));
И я в настоящее время называю его:
$('body').on("click", ".some_class", function () {
$(this).custom_xedit({
type: "input_mask",
mask: "999",
title: "Internal extension",
posturl: "some_url",
name: "Ext"
});
});
Было бы неплохо иметь возможность вызывать его, не окружая его нажатием кнопки мыши, но не уверенный, как это сделать (как показано ниже:)
$(.some_class).custom_xedit({
type: "input_mask",
mask: "999",
title: "Internal extension",
posturl: "some_url",
name: "Ext"
});