在单击/焦点(jQuery)之前将Text / Val设置为不出现在文本输入中

时间:2011-10-07 19:34:14

标签: javascript jquery input textbox telerik-mvc

我有一个复选框,可根据是选中还是取消选中更新页面上的总计。在我的表单的一部分,如果用户决定不需要该类别,我想将Telerik数字文本框(文本输入字段)归零。

When unchecked, the textbox on the right should be set to zero.

如果未选中上述复选框,则右侧文本框中的值应更改回零。为了实现这一点,我在下面编写了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函数(我知道它有点破解)。

此代码有效,并且我的所有总计都正确计算,但在用户实际点击输入框之前,文本框不会显示零值。我在下面显示了这个:

Displays Zero once the input box is clicked.

我可以做些什么来回收我的输入框,以便立即显示零值?或者我将值/文本设置为完全错误?

1 个答案:

答案 0 :(得分:2)

您说您正在使用Telerik,您是否考虑使用其客户端API更改文本框的值?

var textBox = $('#ScaffoldingCost').data('tTextBox');
textBox.value(0);
相关问题