我有一个复选框,它根据选中或未选中来更新页面上的总数。在我的表单的一部分,如果用户决定不需要该类别,我想将 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 函数(我知道它有点 hack)。
此代码有效,并且我所有的总计都正确计算但在用户实际点击输入框之前,文本框不显示零值。我在下面显示了这个:
有什么办法可以回收我的输入框,使其立即显示零值吗?还是我设置的值/文本完全错误?
最佳答案
您说您正在使用 Telerik,您是否考虑过使用他们的客户端 API 来更改文本框的值?
var textBox = $('#ScaffoldingCost').data('tTextBox');
textBox.value(0);
关于javascript - 设置文本/Val 在单击/聚焦之前不出现在文本输入中 (jQuery),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7692051/