jquery不会根据另一个输入标记的值更改一个输入标记的值

时间:2014-03-01 03:51:59

标签: javascript jquery regex asp.net-mvc

我有一个class = class1的输入tag1和另一个class = class2的tag2。输入值是数字。当tag1中的值发生更改时,我希望将tag2的值更改为tag1值的一半。除非tag1值具有逗号(例如,1,000),否则以下工作。我正在使用正则表达式删除逗号,但当tag1值大于999

时它仍然无效
$('.class1').change(function () {    
   $('.class2').val(parseInt($('.class1').val().replace(/,/g, '')) / 2).change();
});

这是一个ASP.NET MVC 4应用程序,这里是tag1和tag2的一个例子。:

@Html.TextBox("txt_Fees","",new{ @class="class1"})
@Html.TextBox("txt_HalfFees","",new{ @class="class2"})

1 个答案:

答案 0 :(得分:0)

您可以尝试将费用值限制为仅限数字,如下所示:

<input type="text" class="class1" name="txt_Fees" />
<input type="text" class="class2" name="txt_HalfFees" />


(function($){
    var $fee = $('.class1'),
        $halfFee = $('.class2'),
        numsOnly,
        handleFeeChange;

    numsOnly = function(){
        var val = this.value.replace(/[^0-9]/g, '');
        this.value = val;
    };

    handleFeeChange = function() {
        var val = this.value;
        $halfFee.val(val / 2);
    };

    $(function(){
        $fee
        .on('keydown keyup', numsOnly)
        .on('change', handleFeeChange);
    });

})(window.jQuery);

此处示例:http://jsfiddle.net/m7J3e/4/

相关问题