删除输入值jquery中的文本

时间:2014-11-02 17:05:42

标签: jquery forms input keyword

我有一张空input#tags的表单。 我有p#list_tagsspan.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');
    }
});

1 个答案:

答案 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');
    }
});