Jquery 通过多个按钮将多个字符串添加到输入字段中
我试图通过多个按钮向输入字段添加多个字符串。问题是,每次单击新按钮时,它都会替换/覆盖上一次插入,因此我无法添加字符串,而只能替换 如果重新单击同一按钮,还希望删除该字符串 请参阅下面的代码和小提琴-Jquery 通过多个按钮将多个字符串添加到输入字段中,jquery,forms,input,Jquery,Forms,Input,我试图通过多个按钮向输入字段添加多个字符串。问题是,每次单击新按钮时,它都会替换/覆盖上一次插入,因此我无法添加字符串,而只能替换 如果重新单击同一按钮,还希望删除该字符串 请参阅下面的代码和小提琴- 你好 对 不 大概 $(“按钮”)。在('click',function()上{ var text=$(this.text(); $(“输入”).val(文本+,); }); 同时添加输入中已有的值,否则它只会用新值替换已有的值 $("button").on('click', function
你好
对
不
大概
$(“按钮”)。在('click',function()上{
var text=$(this.text();
$(“输入”).val(文本+,);
});
同时添加输入中已有的值,否则它只会用新值替换已有的值
$("button").on('click', function() {
var text = $(this).text();
$("input").val(function(_, val) {
var arr = val.split(','),
pos = $.inArray(text, arr);
pos != -1 ? arr.splice(pos, 1) : arr.push(text);
return arr.filter(function(n) {
return n.trim().length
}).join(',');
});
});
首先,从现有输入中获取值 然后检查当前文本是否已经存在。如果是这样,就把它扔掉 然后将当前文本附加到末尾
$("button").on('click', function() {
var text = $(this).text() +',';
$('input').val(function(_, val) {
if (val.match(text)) {
return val.replace(text, '');
}
return val + text;
});
});
谢谢,效果很好,但是如果再次单击,如何删除该值?@Kulerbox-啊,好的!也用这个更新了答案。关闭,但是如果reclicked@Kulerbox:啊,我误解了那部分。再看一眼。现在应该在工作了,问问你的期望。
$("button").on('click', function() {
var text = $(this).text() +',';
$('input').val(function(_, val) {
if (val.match(text)) {
return val.replace(text, '');
}
return val + text;
});
});