我有一个表单,其中有几百个文本框,我想在加载它们时删除所有逗号并防止输入逗号。假设选择器是正确的,下面的代码不应该工作吗?
$(document).ready(function () {
$("input[id*=_tb]")
.each(function () {
this.value.replace(",", "")
})
.onkeyup(function () {
this.value.replace(",", "")
})
});
我有一个表单,其中有几百个文本框,我想在加载它们时删除所有逗号并防止输入逗号。假设选择器是正确的,下面的代码不应该工作吗?
$(document).ready(function () {
$("input[id*=_tb]")
.each(function () {
this.value.replace(",", "")
})
.onkeyup(function () {
this.value.replace(",", "")
})
});
$(function(){
$("input[id*=_tb]").each(function(){
this.value=this.value.replace(/,/g, "");
}).on('keyup', function(){
this.value=this.value.replace(/,/g, "");
});
});
string.replace()
有关 javascript函数的说明和示例,请参见此处:
http://davidwalsh.name/javascript-replace
正如@Vega 所说,这不会将新值写回文本框 - 我更新了代码来这样做。
使用带有g
标志的正则表达式而不是字符串:.replace(/,/g, "")
。
您的代码看起来正确,只是它没有将值设置回输入字段,
$(document).ready(function () {
$("input[id*=_tb]")
.each(function () {
this.value = this.value.replace(/,/g, "")
})
.onkeyup(function () {
this.value = this.value.replace(/,/g, "")
})
});
编辑:使用的正则表达式