我有10个文本输入字段,每个字段使用select2和jquery可排序。
实际上,为了对每个字段都有可排序的功能,我为每个字段重复了代码,它运行良好。但是你可以理解,我会优化它以使用N个字段。
我的代码:
// Sortable
jQuery("#_posts_1").select2("container").find("ul.select2-choices").sortable({
containment: "parent",
start: function() { jQuery("#_posts_1").select2("onSortStart"); },
update: function() { jQuery("#_posts_1").select2("onSortEnd"); } });
jQuery("#_posts_1").on("change", function() { jQuery("#_posts_1").html(jQuery("#_posts_1").val());});
[... the same code for each field ...]
jQuery("#_posts_10").select2("container").find("ul.select2-choices").sortable({
containment: "parent",
start: function() { jQuery("#_posts_10").select2("onSortStart"); },
update: function() { jQuery("#_posts_10").select2("onSortEnd"); } });
jQuery("#_posts_10").on("change", function() { jQuery("#_posts_10").html(jQuery("#_posts_10").val());});
如何优化独特功能? 感谢
答案 0 :(得分:0)
jQuery("[id^='_posts_'").each(function(i,elem){
$(elem).select2("container").find("ul.select2-choices").sortable({
containment: "parent",
start: function() { $(elem).select2("onSortStart"); },
update: function() { $(elem).select2("onSortEnd"); } });
$(elem).on("change", function() { $(elem).html($(elem).val());});
});