ウィジェットコード:
(function($){
$.widget("demo.widget", {
_create: function() {
},
_init: function() {
},
load: function(){
var widget = this;
$.post(
Url,
ajaxUtils.success(function(json) {
//variable widget is overwritten here if I create multiple instances of the widget
alert(widget.element.data("name"));
}), "json");
},
setOptions: function(name) {
$(this).data("name", name);
}
})(jQuery);
同じウィジェットの複数のインスタンスを作成します。
$('<div/>').widget();
$('<div/>').data('widget').setOptions("Name1");
$('<div/>').data('widget').load();
$('<div/>').widget();
$('<div/>').data('widget').setOptions("Name2");
$('<div/>').data('widget').load();
ただし、ajax成功呼び出しのウィジェット変数は常にName2を返します。インスタンス固有のデータを保存するコードをどのように書く必要がありますか?