我想操纵用户输入字段。 这是正确的方法吗?或者任何想要最小化的想法?
HTML:
<div class="form-group">
<input class="form-control value_no" id="01" type="text" value="0" />
</div>
<div class="form-group">
<input class="form-control value_no" id="02" type="text" value="0" />
</div>
的javascript:
$(document).ready(function(){
$("#01").keyup(function () {
var value = $(this).val();
var result = value.replace(/[^0-9.]/g,'');
$('#01').val(result);
}).keyup();
$("#02").keyup(function () {
var value = $(this).val();
var result = value.replace(/[^0-9.]/g,'');
$('#02').val(result);
}).keyup();
})
答案 0 :(得分:2)
使用公共类和this
的实例来避免重复类似的代码:
$(".value_no").keyup(function () {
var value = this.value
var result = value.replace(/[^0-9.]/g,'');
this.value = result;
}).keyup();
此外,使用this.value
,而不是$(this).val()
- 无需让jQuery满意:)
答案 1 :(得分:0)
你重复了太多的代码(因为我怀疑你知道)。
使用选择器来查找两个输入。从您发布的代码“input.value_no”应该是一个好的选择器,但没有完整的HTML代码可用,不可能说它是否会偶然匹配任何更多的控件:
$(document).ready(function(){
$("input.value_no").keyup(function () {
var value = $(this).val();
var result = value.replace(/[^0-9.]/g,'');
$(this).val(result);
}).keyup();
})