HTML
<input type='text' id='costs' value='100' size='3'></input>
JQuery的
var costs = $("#costs");
var c = parseFloat(costs.val().replace(",",".")); //germany ;)
costs.text(c);
如果我将输入字段留空,我会得到NAN。如果输入字段为空,我必须更改以替换输入字段?
答案 0 :(得分:4)
var val = costs.val().replace(",","."),
c = isNaN(val) ? 0 : parseFloat(val);
答案 1 :(得分:1)
捕获表单提交。查找所有输入并检查文本是否为空,如果是,请添加“0”。
$('#form').submit(function(){
var theInputs = $(this).find('input');
$.each(theInputs, function(i,obj){
if($(obj).text() == ''){ //we could have checked for empty. I checked for no string.
$(obj).text('0');
return true; //let the form continue with the submit.
}
});
});
答案 2 :(得分:1)
我不知道您的用户案例但是,您只需对NaN
进行简单检查并将其设置为0.
像这样:
$("#set").click(function(){
var costs = $("#costs");
var c = parseFloat(costs.val().replace(",",".")); //germany ;)
alert(c);
if(!isNaN(c)) {
costs.val(c);
} else {
costs.val("0");
}
});
HTML:
<input type='text' id='costs' value='100' size='3'></input>
<button id="set">Set</button>
在此处查看工作演示: http://jsfiddle.net/jBeN9/
如果你希望代码看起来很简洁,你可以使用像这样的三元运算符,它是同样的东西。 :
$("#set").click(function(){
var costs = $("#costs");
var c = parseFloat(costs.val().replace(",",".")); //germany ;)
costs.val((isNaN(c) ? "0" : c));
});
答案 3 :(得分:1)
如果要将NaN替换为0,只需写下:
var c = parseFloat(costs.val().replace(",",".")) || 0;