Jquery - 检查输入文本的值

时间:2011-08-25 08:20:10

标签: javascript jquery

我有一些像这样的输入文字:

<input type="text" value="5" maxlength="12" id="qty" class="input-text qty" name="qty2050" tabindex="1">

and 

<input type="text" value="0" maxlength="12" id="qty" class="input-text qty" name="qty2042" tabindex="1">

我想用jquery检查每个输入的值,如果一个输入中的数量不同于0,则执行一个函数。

修改 如何在unlod之前在页面上执行此操作?

感谢您的帮助。

6 个答案:

答案 0 :(得分:2)

以这种方式尝试 -

$(window).unload(function() {
     $('.input-text qty').each(function (){
         var val = parseInt($(this).val(),10);
         // you can use math.floor if your input value is float-
         //var val = Math.floor($(this).val());
         if(val !== 0)
         alert(val);
    });
});   

答案 1 :(得分:1)

页面上不应该有两个相同的ID。 很简单应该是:

$('input.input-text.qty').each(function(){
  if ($(this).val() !== '0') {
    alert('Gotcha!');
    return false; //quit loop since we're ok with 1 occurance
  }
});

答案 2 :(得分:1)

$('.input-text').change( function() { 
    if($(this.val() != "0")){ // 
      action here
    }
});

答案 3 :(得分:0)

使用change():http://api.jquery.com/change/

  

示例:要为所有文本输入元素添加有效性测试:

$("input[type='text']").change( function() {
    // check input ($(this).val()) for validity here
});

答案 4 :(得分:0)

var checkInput = function() {
    if(this.value !== '0') {
        // do something
    }
}

$(window).bind('unload', checkInput);
$('input[type=text]').change(checkInput);

我希望这会有所帮助。

答案 5 :(得分:0)

如果你真的想在卸载事件中使用这个,那么这样的东西就可以工作(未经测试),否则绑定到你想要的任何事件:

$(window).unload( function() {
    $('.input-text qty').each(function (){
        if( $(this).val() !== '0' ) {       
            alert("there is a 0");
            return false;//breaks out of the each loop, if this line present will only get one alert even if both fields contain 0
        }
    });
    });