我正在创建一个jQuery UI用cookies排序,以便在更新时保持状态。
下面的代码的重要组成部分:如何在javascript/jQuery中设置变量的永久值?
for(i=0; i<counter; i++) {
var connect = "";
var count = 0;
var tipo = "tipo" + i;
for(j=0; j<counter; j++) {
if(j != i) {
if(count > 0) {
connect = connect + ",.tipo" + j;
}
else {
connect = ".tipo" + j;
count++;
}
}
}
$("." + tipo).sortable({
connectWith: connect,
dropOnEmpty: "true",
opacity: 0.8
});
$(".tipo" + i).sortable({
activate: function(event, ui) {
var order = $("." + tipo).sortable('toArray');
createCookie(tipo, order, 1);
},
update: function(event, ui) {
var order = $("." + tipo).sortable('toArray');
createCookie(tipo, order, 1);
},
receive: function(event, ui) {
var order = $("." + tipo).sortable('toArray');
createCookie(tipo, order, 1);
}
});
}
,我已经是var tipo = "tipo" + i;
将在最后的陈述成为tipo2
和所有以前createCookie(tipo, order, 1);
将有tipo
为tipo2
而不是tipo0
或问题tipo1
。
我希望你明白我在说什么。如果没有,请告诉我!
但是,我怎样才能使这个有正确的tipo
?
请留下[this](http://bonsaiden.github.com/JavaScript-Garden/#function.closures),即“loops”部分。 – pimvdb 2012-02-17 11:21:11
回答,我会接受答案:) – 2012-02-17 11:30:43