在我的HTML
文件中,我有两个包含值的列表,我正在编写JavaScript
函数,用于将值从一个列表拖放到另一个列表。当用户单击列表中的一个值并将其拖动到另一个值时,我将带有列表值的新数组保存到输入隐藏字段。
一切正常,但问题是我在一个页面上有70个这样的列表对,所以我不想为每个列表编写10个单独的函数来执行拖放功能。 我想为函数的每个循环创建。
Dag and drop功能正在使用for循环
$(function() {
for( var variable = 0; variable < 70; variable++ ) {
var li1 = "#sortable1" + variable;
var li2 = "#sortable2" + variable;
var li3 = li1 +',' + li2;
$(li3).sortable(
{
connectWith: ".connectedSortable"
}
).disableSelection();
} // close for
});
应该将列表的新值保存到隐藏文本字段的函数不适用于foreach
循环
for( var x = 0; x < 70; x++ ) {
var var1 = "form ul#sortable1" + x +" li";
var var2 = "form ul#sortable2" + x +" li";
var var3 = var1 +',' + var2;
$(var3).on('li propertychange click', function(index) {
var sortable1 = "ul#sortable1" + x +" li";
var sortable2 = "ul#sortable2" + x +" li";
var row_order1 = "row_order1" + x;
var row_order2 = "row_order2" + x;
var selectedLanguageone = "selectedLanguageone" + x;
var selectedLanguagetwo = "selectedLanguagetwo" + x;
var selectedLanguageone = new Array();
$(sortable1).each(function(index) {
selectedLanguageone.push($(this).attr("id"));
});
document.getElementById(row_order1).value = selectedLanguageone;
var selectedLanguagetwo = new Array();
$(sortable2).each(function(index) {
selectedLanguagetwo.push($(this).attr("id"));
});
document.getElementById(row_order2).value = selectedLanguagetwo;
})(x);
}
可能很难理解我的代码主要问题是我需要在我的函数名称中使用变量并在函数内使用相同的var。