jquery需要简化

时间:2011-02-17 08:53:34

标签: jquery

我对jquery相当新,我一直在努力研究如何正确绑定。我试图让这个更简单,因为它似乎有点长,因为我必须基本上把所有东西都放两次。

任何帮助都会很棒!

$("#btn-add").click(function(){
    $("#genre option:selected").each(function(){
        $("#display_genre").append("<li id='dg_"+$(this).val()+"'> "+$(this).text()+" <a class='btn-remove' href='JavaScript:void(0);' name='"+$(this).val()+"'><img border='0' src='images/delete.png'></a></li> ");
        $("#selected").val($("#selected").val()+$(this).val()+',');
        $(this).remove();
        $(".btn-remove").bind("click", function(){
            var get_value = $(this).attr("name");
            var get_genre = $("#dg_"+get_value).text();
            $("#genre").append($("<option/>").attr("value", get_value).text(get_genre)); 
            $("#selected").val($("#selected").val().replace(get_value+',',''));
            $("#dg_"+get_value).remove();
            var sort_options = $.makeArray($("#genre option")).sort(function (a, b){
                return a.text == b.text ? 0 : a.text < b.text ? -1 : 1;
            });
            $("#genre").html(sort_options);
        });
    });
});
$(".btn-remove").click(function(){
    var get_value = $(this).attr("name");
    var get_genre = $("#dg_"+get_value).text();
    $("#genre").append($("<option/>").attr("value", get_value).text(get_genre)); 
    $("#selected").val($("#selected").val().replace(get_value+',',''));
    $("#dg_"+get_value).remove();
    var sort_options = $.makeArray($("#genre option")).sort(function (a, b){
        return a.text == b.text ? 0 : a.text < b.text ? -1 : 1;
        $("#btn-add").bind("click", function(){
            $("#genre option:selected").each(function(){
                $("#display_genre").append("<li id='dg_"+$(this).val()+"'> "+$(this).text()+" <a class='btn-remove' href='JavaScript:void(0);' name='"+$(this).val()+"'><img border='0' src='images/delete.png'></a></li> ");
                $("#selected").val($("#selected").val()+$(this).val()+',');
                $(this).remove();
            });
            $("#genre").html(sort_options);
        });
    });
});

1 个答案:

答案 0 :(得分:0)

将两个事件处理程序共同的代码重构为单独的命名函数,并从事件处理程序中调用它们。