我有一个更新表单,根据数据库值填充字段。表单包括计算,因此我将字段的值设置为数据库值,但添加onChange以允许表单在更新时重新计算数字。我确信它一定是个问题,但我不知道如何解决它。以下是我所做的一个例子:
<td><input type="text" Name="price" id="price" size="8" class="TextBox" value="#price_value#" onFocus="this.className='TextBoxSelected';select()" onBlur="this.className='TextBox'" onChange="calculate();" /></td>
function getFldValue(fldValue) {
return isNaN(fldValue) ? 0 : parseFloat(fldValue);
}
function calculate() {
var property_SPrice = getFldValue($('#property_SPrice').val());
var price = getFldValue($('#price').val());
$('#price').val(property_SPrice + 0);
然而;当property_SPrice被更改时,它只是将价格清零,所以我不确定我需要在这里更改以使其工作。顺便说一下,我是新手,多谢你的帮助。
答案 0 :(得分:1)
这一行:return isNaN(fldValue)? 0:parseFloat(fldValue);
试试这个
var property_SPrice = getFldValue(Number($('#property_SPrice').val()));
或:
var property_SPrice = getFldValue(parseInt($('#property_SPrice').val()));
$('#property_SPrice').val() has to be a number/integer not a string version of a number/integer i.e. 9273 not '9273'
在console.log
上尝试typeOf $('#property_SPrice').val()
,看看它是什么
答案 1 :(得分:0)
propert_SPrice必须被定义为ID值而不仅仅是NAME