我对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);
});
});
});
答案 0 :(得分:0)
将两个事件处理程序共同的代码重构为单独的命名函数,并从事件处理程序中调用它们。