我有一张空input#tags
的表单。
我有p#list_tags
,span.keyword
很少。
当我点击.keyword
时,其文字附加到input.val()
但如果我再次点击它,我就无法从val()
删除其文字。
我的代码:
$("p#list_tags span.keyword").click(function() {
var tag = $(this).text();
var tags = $("#tags").val();
if($(this).hasClass('selected_tag')) {
$(this).removeClass('selected_tag');
// Here, I don't know what to do... I've tried this, but...
// $("#tags").remove(":contains('" + tag + "')");
}
else {
$("#tags").val(tags + ' ' + tag);
$(this).addClass('selected_tag');
}
});
答案 0 :(得分:1)
试试这个
$("p#list_tags span.keyword").click(function() {
var tag = $(this).text();
var tags = $("#tags").val();
if($(this).hasClass('selected_tag')) {
$(this).removeClass('selected_tag');
//if that tag is last one, we need to append space before tag
var res = tags.split(" ");
var replaceString = "";
if(res[res.length-1] == tag){
replaceString = " " + tag;
}else{
replaceString = tag + " ";
}
$("#tags").val(tags.replace(replaceString, "")); // Replace with empty value
}
else {
$("#tags").val(tags + ' ' + tag);
$(this).addClass('selected_tag');
}
});