javascript - 逗号分隔的字符串

标签 javascript jquery arrays csv

我有一个文本输入,每次用户选择新标签(新标签创建新的列表元素)时,该文本输入都会更新,并且这些列表元素会映射到逗号分隔的列表中,然后将其添加到文本输入的值中。

文本输入的值可能如下所示,

PHP, C#, C, C++

用户可以单击标签将其从文本输入中删除,但是我无法将其从输入字段中的逗号分隔列表中删除。

我的标签删除方法代码如下所示。

var array = $("#job_tags_input").val().split(",");

我虽然这会给出我输入中的值的数组,但我在控制台中得到的所有内容是我执行 console.log(array) 时,

["C", " PHP", " Perl", " C#", " "]

如果“C”的标签被删除,我该如何将其从输入字段中删除?

我的JS

if($("#job_tags").get(0)) {
    $("#job_tags").tagHandler({
        assignedTags: [ 'C', 'Perl', 'PHP' ],
        availableTags: [ 'C', 'C++', 'C#', 'Java', 'Perl', 'PHP', 'Python' ],
        autocomplete: true,
        onAdd: function(tag) { 
            var s = $("#job_tags li").map(function(){
                return $(this).text();
            }).get().join(",");
            s = s.substring(0, s.length - 1);
            console.log(s);
            $('#job_tags_input').val(s);
        },
        onDelete: function(tag) { 
            /*$("#job_tags_input").val( $("#job_tags li").map(function(){
                return $(this).text();
            }).get().join(", "));*/
            var array = $("#job_tags_input").val().split(",");
            array = $.grep(array, function(value, i) {
                return ( value.indexOf(tag) == 0 );
            });
            array = array.join(",");
            console.log(array);
            $('#job_tags_input').val(array);
        }

    });
}

最佳答案

您可以先拼接该项目:

array.splice(array.indexOf("C"), 1); // remove one item at the position of "C"

然后将元素连接在一起并更新文本框:

$("#job_tags_input").val(array.join()); // uses "," by default

但是,最好按 ", " 进行拆分,因为空格是分隔符的一部分。

关于javascript - 逗号分隔的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9490581/

相关文章:

javascript - 为什么 jQuery live() 不起作用?

javascript - AngularJs 数组内部的数组显示在文本区域中

javascript - 正则表达式从文件名中排除某个单词

javascript - 在 ExpressJS 中创建工作表单

javascript - 如何让 Knockout JS 和 ClipboardJS 一起工作?

javascript - HTML onclick div id 转到两个 href

Javascript - 为什么这段 Javascript 代码在 JSFiddle 和 JSBin 中有效,但在任何浏览器中都无效?

javascript - 如何为 JQuery $.ajax 同步请求设置超时并执行某些操作

c# - 可以对某些数组进行排序但不能对其他数组进行排序?

python 错误: too many indices for array