JQuery使输入数字为负数

时间:2011-03-31 14:35:54

标签: jquery html asp.net-mvc-2

我们有这个文本框:

<%= Html.TextBoxFor(m => m.FloatingComponent.IndexOptions.Lookbackdays, new { @class = "economicTextBox DontShrinkBigger", propertyName = "FloatingComponent.IndexOptions.Lookbackdays" })%>

我希望功能如下:

  1. 如果用户输入正数,我希望JQuery在其前面添加一个负号,
  2. 如果他们输入负数,请不要做任何事情。
  3. 我如何使用JQuery做到这一点?

3 个答案:

答案 0 :(得分:4)

不是真的流利的js,但我猜的是

if (x > 0){
x = x - (x*2)
}
else 
{ do nothing }

答案 1 :(得分:3)

背后的数学很简单0 - int。要更新字段:

$('input').change(function(){
    if($(this).val() > 0) {
         $(this).val(0 - $(this).val());
    }
});

答案 2 :(得分:3)

没有if:

var input = 0 - Math.abs($('selector').val());

为什么会有效

Math.abs()会将任意数字转换为正数,IE,-4转为412保持不变等等。

现在我们已将输入设为正数,我们通过从0减去它来否定它。