我有一个表单,我有几百个文本框,我想在加载时删除任何逗号,并防止输入逗号。假设选择器是正确的,跟随代码不应该工作吗?
$(document).ready(function () {
$("input[id*=_tb]")
.each(function () {
this.value.replace(",", "")
})
.onkeyup(function () {
this.value.replace(",", "")
})
});
答案 0 :(得分:25)
$(function(){
$("input[id*=_tb]").each(function(){
this.value=this.value.replace(/,/g, "");
}).on('keyup', function(){
this.value=this.value.replace(/,/g, "");
});
});
请点击此处查看javascript string.replace()
功能的说明和示例:
http://davidwalsh.name/javascript-replace
正如@Vega所说,这不会将新值写回文本框 - 我更新了代码来执行此操作。
答案 1 :(得分:5)
使用带有g
标志的正则表达式而不是字符串:.replace(/,/g, "")
。
答案 2 :(得分:2)
您的代码看起来正确,只是它没有将值设置回输入字段
$(document).ready(function () {
$("input[id*=_tb]")
.each(function () {
this.value = this.value.replace(/,/g, "")
})
.onkeyup(function () {
this.value = this.value.replace(/,/g, "")
})
});
修改:使用正则表达式