Jquery删除' 0'在输入任何值后在文本框中

时间:2014-12-04 12:22:56

标签: javascript jquery validation onkeyup

这是我的Fiddle

最初文本框没有任何价值。

如果输入任何值并且它已清空' 0'将被添加到其中。

但是' 0'输入任何值后都不会被删除。

如何删除' 0'如果输入任何值。

这是我的代码:

$('.qty').keyup(function(){
   if($(this).val() == ""){
   $('.qty').val('0');
    }else if($(this).val() > 0){
   $(this).val().replace(0,'');
   }
});

8 个答案:

答案 0 :(得分:1)

试用此代码:

$('.qty').keyup(function(){
   if($(this).val() == ""){
   $('.qty').val('0');
   }else if($(this).val() > 0){
   console.log($(this).val());
   $(this).val().replace(0,'');
   }
    if($(this).val()!=0){
        var text = $(this).val();
        alert(text.slice(0,1));
        if(text.slice(0,1)==0)
        {
            $(this).val(text.slice(1,text.length));   
        }
      }
});

Working Demo

答案 1 :(得分:1)

而不是 $(' .qty&#39)。VAL(' 0&#39);

添加掌上电脑。



$('.qty').attr('placeholder','0');




答案 2 :(得分:0)

如果placeholder不是一个选项,您可以将值解析为整数:

$('.qty').keyup(function(){
    var val = parseInt(this.value, 10);
    this.value = val ? val: 0;
});

答案 3 :(得分:0)

.replace()返回修改后的字符串,您需要将其存储回值中。试试这个:

$('.qty').keyup(function () {
    if ($(this).val() == "") {
        $('.qty').val('0');
    } else if ($(this).val() > 0) {
        console.log($(this).val());
        $(this).val(function() {
            return this.value.replace(/^0+/, '');
        });
    }
});

我还更改了replace()调用以使用正则表达式,因此它只在输入的开头删除零。否则,它会将102更改为12

fiddle

答案 4 :(得分:0)

您可以使用blurfocus代替keyup来实现此目的:

$('.qty').blur(function() {
    if (this.value == '') this.value = '0';
}).focus(function() {
    if (this.value == '0') this.value = '';
});

JSFiddle example

答案 5 :(得分:0)

试试这个..

<input type="text" name="test" value="0">


$(document).ready(function(){
    var Input = $('input[name=test]');
    var value= Input.val();

    $(Input).focus(function() {
        if($(this).val() == value)
        {
             $(this).val("");
        }
    }).keyup(function(){
        if($(this).val().length == 0)
        {
            $(this).val(value);
        }
    });
})

答案 6 :(得分:0)

试试这个,

$('.qty').keyup(function(){
   if($(this).val() == ""){
   $('.qty').val('');
   }else if($(this).val() > 0){
   console.log($(this).val());
   $(this).val().replace(0,'');
   }
});

答案 7 :(得分:0)

使用javascript Number函数

代替0替换为整数值
$('.qty').keyup(function(){
   if($(this).val() == ""){
   $('.qty').val('0');
   }else if($(this).val() > 0){
   console.log($(this).val());
   $(this).val(Number($(this).val()))
   }
});

refer jsFiddle