私は現在、グリッドスターベースのCMSモジュールに取り組んでおり、最終ユーザーがさまざまなレイアウトを作成できるようにするために、グリッドスターを複数回インスタンス化する必要があります。
設定する必要があるグリッドの数をループして、定義された反復に基づいて異なる引数で呼び出す必要があるコールバックを定義しようとすると、私の問題が発生します。それらをテストすると、(最後の) 同じ値。
私はそれが閉鎖の問題だと思います.私はこのフォーラムからいくつかの投稿を読んでもそれを解決しようとしていますが、成功していません.
ここに私のコードがあります:
var gridster= [];
var id_layouts = [];
$(".selectedLayout").each(function(){
id_layouts.push($(this).val());
});
for(i=0; i<id_layouts.length; i++){
makeGridster(i, id_layouts[i]);
}
function makeGridster(index, id_layout){
gridster[index] = $('#blockcompositeGrid'+id_layout+' > ul').gridster({
widget_margins: [10, 10],
widget_base_dimensions: [100, 100],
draggable:{
stop: function(){
return function(i, l){
updateSerialization(i, l)
}(index, id_layout)
}
}
}).data('gridster');
}
function updateSerialization(index, id_layout){
console.log(index, id_layout);
}
グリッドが構築されます。それで問題ありません。ご覧のとおり、ドラッグ アクション停止のコールバックとして関数を呼び出そうとしていますが、これは異なる引数で呼び出す必要があります。私が必要としているものに似ていると思われるこれを見つけましたが、残念ながら私はコーヒースクリプトについて何も知りません. 事前に助けてくれてありがとう