这是我的代码:
$('#enterTags').keydown(function(event) {
var tag = $(this).val();
// 188 is comma, 13 is enter
if (event.which === 188 || event.which === 13) {
if (tag) {
$('#falseInput').val($('#falseInput').val() + tag + ', ');
$(this).val('');
}
event.preventDefault();
}
// 8 is backspace
else if (event.which == 8) {
if (!tag) {
event.preventDefault();
}
}
});
我现在遇到的问题是当用户按下退格键时,我需要它来清除#enterTags中输入的最新“tag”var的#falseInput。我怎么能这样做?
答案 0 :(得分:0)
您可以将标记存储在数组中,并通过连接数组元素(join
method)来设置#falseInput
的值。然后,当用户按下退格键时,只需删除数组的最后一个元素。这种方法比尝试操作存储在输入中的字符串更容易。
答案 1 :(得分:0)
您可以通过执行tagsArray.push(tag);
将每个已完成的标记保留在堆栈中。您可以通过$('#falseInput').val(tagsArray.join(', '));
按下退格键时,您需要做的只是
tagsArray.pop();
$('#falseInput').val(tagsArray.join(', '));
从数组中删除最近的值,然后重做#falseInput