今天做了label的删除操作:
function label_del_click(which){
var label = $(which).parent().children(".label_content").html();
var count = Number($("#label_count").val())-1;
$("#label_count").val(count);
var label_string = $("#label_string").html();
label_list = label_string.split(";");
for(var i=0;i<label_list.length;i++){
if(label == label_list[i]){
if(i == label_list.length-1){
//最后一个
label_string = label_string.replace(label,"");
}
else{
label_string = label_string.replace(label+";","");
}
}
}
$("#label_string").html(label_string);
$("#label_for_form").val(label_string);
$(which).parent().html("");
}
删除的过程是先拿到要删除的label值,然后将count值减一,如果label是在label_string的最后一个,就直接将其label_string中的label字符串直接换为空,如果不是最后一个要连同label后的;一起设为空,最为将修改的值设回去,并重新渲染。
view代码:
<%if !label_string.nil?%>
<%label_list = label_string.split(";")%>
<div>
<%for label in label_list%>
<div style="display:inline">
<span class="label label-info"><p class="label_content" style="display:none"><%=label%></p><%=label%> <button style="width:14px;height:18px;margin:0px;padding:0px;background-color:#DEB948;border-color:#DEB948;" type="button" onClick="label_del_click(this)"><i class="halflings-icon ban-circle" style="margin-bottom:2px"></i></button></span>
</div>
<%end%>
</div>
<%end%>
效果如下:
点击取消消失