一个项目的进展,需要实现在数字
输入表单的
用户输入框,输入数量立即自动计算,并在指定的输入框中
显示的原理、实现的
功能很简单,仅仅是在另外的总输入的OnChange事件分配的结果是在输入框中指定,代码如下:
复制代码代码如下所示:
$(输入。syxcost)。变化(
函数(){)
computereceivedsyxcost();
}
功能(computereceivedsyxcost){ / /总的计算
无功syxcost = 0;
$(输入。syxcost)。每个(函数(){)
可变成本= parseFloat($(this)。瓦迩());
如果(!IsNaN(成本))
syxcost = syxcost +成本;
});
$(# receivedsyxcost)。瓦迩(syxcost); / /显示最终结果
}
这个想法是在谷歌
浏览器
解决真是好的,但在IE 9中,但
发现输入的输入的数量,并不会立即引发更改事件,
兼容性的问题,在网上
搜索,还说,这个问题的存在,没有办法,我只有自己的基础的
情况下写的,我的想法是:当输入获得焦点,我们得到的电流值并存储在一个自定义的输入
属性(例如数据椭圆形),然后失去了专注投入,你得到的是前习俗中存在的电流值和属性值相同,如果不是同样的,进而改变的值,需要计算,否则不予理睬,
执行的代码如下:
复制代码代码如下所示:
$(输入。syxcost)。焦点(函数(){)
$(这)。Attr(数据呈椭圆形,$(这)。瓦迩()); / /电流值被存储在一个自定义属性
}Blur(函数(){)
无功oldval =($(this)。Attr(数据椭圆形)); / /得到原来的值
无功newval =(美元。Val)((这));/ /获取当前值
如果(oldval!= newval)
{
(computereceivedsyxcost); / /不一样的计算
}
});
经过反复验证,所有浏览器显示正常,解决兼容性问题!