0

我有 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());});

如何优化独特功能?谢谢

4

1 回答 1

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());});
});
于 2013-06-14T18:19:41.500 回答