jQuery如果值为空,则将其设置为0并进行验证
jQuery if value is empty set it to 0 and validate
简单问题我无法解决,我有以下功能:
function finalCheck(){
var result = true;
jQuery("#carloan-form :input[type=text]").each(function() {
if(!this.value){this.value = 0;}
if(jQuery.isNumeric(this.value) && this.value>=0) {
jQuery(this).parent().children('.cal-error').slideUp(300)
}else{
result = false;
jQuery(this).parent().children('.cal-error').slideDown(300);
jQuery('.cal-result').slideUp(300);
}
});
return result;
}
基本上,问题是if(!this.value){this.value = 0;}
,若并没有值,我需要在继续验证表单之前将其设置为零,但这似乎只有在我第二次验证它时才会生效
因此,归根结底,如果我在每个循环中将输入值设置为0,那么只有在函数完成后才会考虑它。
这是一个JSFIDDLE,与我当前的问题相同,只有在第二次单击时才会显示正确的值。
非常感谢任何帮助。
您可以为打印输出设置默认值
var finalValue = $('#test').val() || 0;
检查http://jsfiddle.net/odiseo/bQSA3/5/
问题是当获取值时,尽管这在代码片段中并不明显,只有JSFiddle。所以你有这个:
var finalValue = $('#test').val();
var testInput = test();
if(testInput){
$('span').text(finalValue);
}
相反,它需要这样:
var testInput = test();
if(testInput){
var finalValue = $('#test').val();
$('span').text(finalValue);
}
注意在调用test()
之后将finalValue
设置为的移动。
工作小提琴-http://jsfiddle.net/bQSA3/4/
也许您错了,认为对$('#test').val()
的调用将引用设置为test
输入的值。相反,它会获得该值的副本。如果test
中的值发生更改,则需要再次获取该值。
试着把这个。。。
if(!this.value){this.val(0);}
下面的代码(简化)总是在alert中显示true,我认为这是预期的行为。
Html
<form id="carloan-form">
<input type="text" />
<input type="text" />
<input type="text" />
<button id="check">check</button>
</form>
脚本
$(function () {
$("#check").click(function() {
var result = true;
jQuery("#carloan-form :input[type=text]").each(function() {
if(!this.value){this.value = 0;}
if(jQuery.isNumeric(this.value) && this.value>=0) {
}else{
result = false;
}
});
alert(result);
});
});
相关文章:
- 将字段设置为有条件地使用所需的字段验证器
- 如何在JavaScript而不是HTML元素中设置AngularJS验证
- 如何设置30天的电子邮件验证以由用户重新发送
- AngularJs:在数字输入字段中设置验证的条件最小值和最大值
- 设置html时的验证
- 为什么jQuery验证“;远程:“;验证需要一个函数来设置数据值
- 角度嵌套表单验证setPristine on subForm->在parentForm上设置Pristine
- jQuery验证引擎,设置minsize但允许为空
- 如何使用javascript将验证日期设置为不小于文本框中的开始日期
- jQuery如果值为空,则将其设置为0并进行验证
- 如果在ASP.Net MVC视图中验证失败,请设置httppostedfilebase
- 使用jquery验证器插件为十进制数设置正则表达式
- 全局变量设置在JavaScript验证中失败
- 需要在文本框中允许“<”和“>”,而不设置验证请求=fale ASP.net
- 如何为我使用映射插件创建的挖空可观察量设置验证
- 如何在我的 Web 表单中选择标记设置验证
- jquery库”;uriAnchor”-我可以'我不知道如何设置验证配置
- 如何在自定义angular指令中添加/设置验证(require, prestine等)
- 如何按区域设置验证货币值
- 如何以编程方式在 dojo 中设置验证器函数