onChange在更新表单上不起作用

时间:2012-02-03 16:47:48

标签: jquery onchange

我有一个更新表单,根据数据库值填充字段。表单包括计算,因此我将字段的值设置为数据库值,但添加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被更改时,它只是将价格清零,所以我不确定我需要在这里更改以使其工作。顺便说一下,我是新手,多谢你的帮助。

2 个答案:

答案 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