按键,键控和更改具有相同类名的输入的事件
keypress,keyup and change events on inputs with same class name
我有一个表,其中第一行都是共享相同类名的文本输入。 我想设置一个验证,以便用户只输入浮点数。有谁知道我在以下代码中可能缺少什么?$('input." + classname) 或 $('.classname) 在调用 floatTextField() 函数时不会触发任何事件
网页代码:
<td><div class="input-group"><input type="text" class="form-control myclass" value="2.8"></div> </td>
JavaScript 代码:
floatTextField('myclass');
function floatTextField(classname) {
$('input.' + classname).keypress(function (event) {
var charCode = (event.which) ? event.which : event.keyCode;
if (event.which == 0)//common keys
return true;
var value = $(this).val();
if (charCode == 45 && value.indexOf('-') != -1) {
return false;
}
else if (charCode == 46 && value.indexOf('.') != -1)
return false;
else if (charCode != 46 && charCode != 45 && charCode > 31 && (charCode < 48 || charCode > 57))
return false;
return true;
});
$('input.' + classname).keyup(function (event) {
var value = $(this).val();
if (value <= 0 && value.indexOf('.') == -1 && value.indexOf('-') == -1) {
$(this).val('');
}
if (value.indexOf('-') > 0) {
value = value.replace('-', '');
$(this).val(value);
}
});
$('input.' + classname).change(function (event) {
var value = $(this).val();
if (value.indexOf('.') == 0) {
value = '0' + value;
$(this).val(value);
}
});
}
您必须像这样使用 $(document).ready()
方法:
function floatTextField(classname) {
$('input.' + classname).keypress(function (event) {
var charCode = (event.which) ? event.which : event.keyCode;
if (event.which == 0)//common keys
return true;
var value = $(this).val();
if (charCode == 45 && value.indexOf('-') != -1) {
return false;
}
else if (charCode == 46 && value.indexOf('.') != -1)
return false;
else if (charCode != 46 && charCode != 45 && charCode > 31 && (charCode < 48 || charCode > 57))
return false;
return true;
});
$('input.' + classname).keyup(function (event) {
var value = $(this).val();
if (value <= 0 && value.indexOf('.') == -1 && value.indexOf('-') == -1) {
$(this).val('');
}
if (value.indexOf('-') > 0) {
value = value.replace('-', '');
$(this).val(value);
}
});
$('input.' + classname).change(function (event) {
var value = $(this).val();
if (value.indexOf('.') == 0) {
value = '0' + value;
$(this).val(value);
}
});
}
$(document).ready(function(){
floatTextField('myclass');
});
相关文章:
- 为什么不't Javascript对我的输入值进行了一些重新检查
- 可以't让我的if语句处理js中的html表单输入
- 名称输入的索引
- 如何编写HTML输入的JS内联
- 要求输入在数据列表中
- 将输入字段中的文本提交到我的数据库,同时将其添加到我的列表中
- 让文本输入幻灯片显示输入时的新文本输入?然后向后滑动
- 如何将输入(type=text)从html表单传递到javascript函数
- 单击jquery清除输入值
- 而循环只设置php中输入字段中的第一个值
- 在输入字段中将最小金额设置为
- 为具有相同类的多个输入添加、移除和添加一个类
- 如何使用输入模糊事件更新多个具有相同类名的标签的文本
- 通过jquery检查在具有相同类的下拉框中输入的重复值
- 从具有相同类名的不同输入字段中获取值
- 按键,键控和更改具有相同类名的输入的事件
- 将焦点返回到具有相同类的输入的模糊上
- 将具有相同类名的表单输入字段放入数组中
- 如何添加具有相同类名的表单输入字段
- 获取具有相同类的多个输入字段的值并添加到javascript对象中