extjs 两个文本框输入值 另一个文本框的值自动计算 5
自动计算这两个文本框的积(就是乘法)vartxtAmount=newExt.form.TextField({fieldLabel:'数量',name:'purchaseV...
自动计算这两个文本框的积(就是乘法)
var txtAmount = new Ext.form.TextField({
fieldLabel : '数量',
name : 'purchaseVo.amount',
allowBlank : false
});
var txtUnitPrice = new Ext.form.TextField({
fieldLabel : '单价',
name : 'purchaseVo.unitPrice',
allowBlank : false
});
var txtTotalMoney = new Ext.form.TextField({
fieldLabel : '总金额',
name : 'purchaseVo.totalMoney',
allowBlank : false
});
//自动计算总金额的方法是不是放在总金额那里 展开
var txtAmount = new Ext.form.TextField({
fieldLabel : '数量',
name : 'purchaseVo.amount',
allowBlank : false
});
var txtUnitPrice = new Ext.form.TextField({
fieldLabel : '单价',
name : 'purchaseVo.unitPrice',
allowBlank : false
});
var txtTotalMoney = new Ext.form.TextField({
fieldLabel : '总金额',
name : 'purchaseVo.totalMoney',
allowBlank : false
});
//自动计算总金额的方法是不是放在总金额那里 展开
4个回答
展开全部
input自带方法oninput & onpropertychange 监听事件
<html>
<head>
<title></title>
<script type="text/javascript">
function OnInput(event) {//兼容其他浏览器及IE9以上版本
alert("当前值: " + event.target.value);
}
// Internet Explorer
function OnPropChanged(event) {//兼容IE9以下版本
if (event.propertyName.toLowerCase() == "value") {
alert("当前值: " + event.srcElement.value)
}
}
</script>
</head>
<body>
<input type="text" oninput="OnInput (event)" onpropertychange="OnPropChanged (event)">
</body>
</html>
提示到这里,怎么实现还是自己想办法较好!
如有问题请继续追问,望采纳!
追问
我补充了代码,就是那个方法怎么写
追答
方法不是已经给你了吗,在两个需要计算的文本框加上oninput和onpropertychange属性,然后调用你的算法,算了代码给你粘出来!
<html>
<head>
<title></title>
<script type="text/javascript">
function OnInput() {//兼容其他浏览器及IE9以上版本
var a = eval(document.getElementById('a')).value;//Jquery:var a=$("#a").val();
var b = eval(document.getElementById('b')).value;
var d = a * b;
document.getElementById("c").value = d;
}
// Internet Explorer
function OnPropChanged(event) {//兼容IE9以下版本
var a = eval(document.getElementById('a')).value;//Jquery:var a=$("#a").val();
var b = eval(document.getElementById('b')).value;
var d = a * b;
document.getElementById("c").value = d;
}
</script>
</head>
<body>
<input type="text" id="a" oninput="OnInput()" onpropertychange="OnPropChanged()">
*<input type="text" id="b" oninput="OnInput()" onpropertychange="OnPropChanged()">
=<input type="text" id="c"value="">
</body>
</html>
展开全部
参考下,校验什么的需要自己完善下
Ext.create('Ext.form.Panel', {
title: 'Contact Info',
width: 300,
bodyPadding: 10,
renderTo: Ext.getBody(),
items: [{
xtype: 'textfield',
itemId: 'num1',
fieldLabel: '数值1',
vtype: 'alphanum',
listeners:{
blur:function(obj){
debugger;
var num3 = obj.ownerCt.getComponent('num3');
var num2 = obj.ownerCt.getComponent('num2').value;
if(num2!=null)
num3.setValue(obj.value*num2);
}
}
}, {
xtype: 'textfield',
itemId: 'num2',
fieldLabel: '数值2',
vtype: 'alphanum',
listeners:{
blur:function(obj){
var num3 = obj.ownerCt.getComponent('num3');
var num1 = obj.ownerCt.getComponent('num1').value;
if(num1!=null)
num3.setValue(obj.value*num1);
}
}
}, {
xtype: 'textfield',
itemId: 'num3',
fieldLabel: '乘积'
}]
});
更多追问追答
追问
我补充了代码,就是那个方法怎么写
追答
是数量和单价输入完成后就完成计算
如果有先后顺序的话,哪个后输入完,就放在哪里做计算
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2015-04-27
展开全部
+-/乘都有。。。。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
在第二个文本框焦点离开后给第3个赋值就好了
追问
能具体点吗,我初学
追答
在定义第2个文本框的时候添加listners:{blur:function()}事件 该事件里面填写获取第1 2 两个文本框的值 然后相乘 给第3个赋值就可以了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询