我有一个复选框,可根据是选中还是取消选中更新页面上的总计。在我的表单的一部分,如果用户决定不需要该类别,我想将Telerik数字文本框(文本输入字段)归零。
如果未选中上述复选框,则右侧文本框中的值应更改回零。为了实现这一点,我在下面编写了jQuery代码(注意,只要表单上有变化,就会调用此函数):
var zeroValue = getNum(0.00);
//Scaffolding
if ($("#ScaffoldingRequired").attr('checked')) {
scaffoldingCost = getNum($("#ScaffoldingCost").val());
totalCost += scaffoldingCost;
} else {
$("#ScaffoldingCost").val(zeroValue);
$("#ScaffoldingCost").text(zeroValue);
}
//Round&Convert to 'decimal'
function getNum(num) {
var number = parseFloat(num) || 0.00;
var rNumber = Math.round(number * 100) / 100;
return rNumber.toFixed(2) * 1;
}
注意:为了确保一切正常并且不给我NaN,我使用了我的getNum函数(我知道它有点破解)。
此代码有效,并且我的所有总计都正确计算,但在用户实际点击输入框之前,文本框不会显示零值。我在下面显示了这个:
我可以做些什么来回收我的输入框,以便立即显示零值?或者我将值/文本设置为完全错误?
答案 0 :(得分:2)
您说您正在使用Telerik,您是否考虑使用其客户端API更改文本框的值?
var textBox = $('#ScaffoldingCost').data('tTextBox');
textBox.value(0);