Jquery 按空格键后在文本框中添加逗号
当页面加载时,我通过Ajax请求检索值。我将它们显示在文本框中,供用户调整。删除或添加。我需要在最后一个字符后添加一个逗号,但只能在按下空格键后添加 我发现了一些类似的问题,但没有一个能解决这个具体问题。我没有发现重复的问题 我一直在修补这段代码,但它限制了我。我不能退格和删除,它也不会接受两个字符以下的任何内容Jquery 按空格键后在文本框中添加逗号,jquery,Jquery,当页面加载时,我通过Ajax请求检索值。我将它们显示在文本框中,供用户调整。删除或添加。我需要在最后一个字符后添加一个逗号,但只能在按下空格键后添加 我发现了一些类似的问题,但没有一个能解决这个具体问题。我没有发现重复的问题 我一直在修补这段代码,但它限制了我。我不能退格和删除,它也不会接受两个字符以下的任何内容 $('#symText').keyup(function(){ var sym = this.value.replace(/(\w)[\s,]+(\w?)/g, '$1, $2')
$('#symText').keyup(function(){
var sym = this.value.replace(/(\w)[\s,]+(\w?)/g, '$1, $2');
if (sym!=this.value) this.value = sym;
});
寻找在按下空格键时仅在最后一个字符后添加逗号的替代方法。非常感谢你的帮助
$.ajax({
url: '/Trucking/GetSubSymbols',
type: 'POST',
contentType: 'application/json',
data: sendData,
success: function (data) {
console.log(data);
var s = '';
for (var i = 0; i < data.length; i++) {
s += data[i] + ',';
}
$(".fillSym").val(s);
},
error: function () {
//alert('Error');
console.log('Error');
}
});
结核病图片
在这里检查一下,如果这是您想要的,请告诉我 $'input[name=numbers]'。在'keyup'上,函数E{ ife.which==32{ var str=$this.val.split; ifstr[str.length-2]==','{ $this.val$this.val.replace“”,; } $this.val$this.val.replace'、'、'; } };
这听起来让你的用户很烦;如果我无意中点击了空格,我希望按一下delete键,但是你的JS代码添加了一个不需要的空格,所以现在我不得不意外地按两次。类似地,如果有人只是多次按空格键并在框中填入,个字符,会发生什么情况?验证输入的垃圾并不容易。如果您将每个值分别放入各自的框中,然后从中创建一个数组,这可能会更好。@Rorymcrossan我意识到这是第一印象,这实际上让他们更容易处理事情。无论如何,他们都必须加一个逗号。Ajax请求中有一组未知的值。因此,除非我能够动态创建精确数量的文本框来显示这些值,并能够为更多值添加额外tb,否则我必须使用当前方法。我必须学习。我不知道这是否可能。每个值都单独存储在数据库中,因此,如果添加或删除了任何内容,我可以根据需要进行检查和添加/删除。除非我可以动态创建精确数量的文本框来显示这些值,并能够为更多值添加额外tb。这是非常简单的,而且肯定是我想要的方法suggest@swapmeet_Lou当然,这里有一个非常粗略的示例,说明如何从AJAX请求数据创建输入,添加新的输入,以及如何序列化用户输入以发送回服务器以更新数据存储:您的值似乎不包含会破坏您的方法的空格。因此,您可以忽略逗号:不要将它们添加到$.ajax函数中,也不要将编辑后的字符串发送到服务器,而不要使用逗号。然后,在服务器中,使用空格作为分隔符将字符串转换为数组。