Dali
Dali

Reputation: 7882

Jquery - check the value of inputs texts

I have some input texts like this :

<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">

And I want to check with jquery the values of each input, to execute a function if there is a quantity different from 0 in one input.

EDIT How can I do that on page before unlod?

Thanks for help.

Upvotes: 0

Views: 781

Answers (6)

mreq
mreq

Reputation: 6532

You shouldn't have two same IDs on a page. Quite simple should be:

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

Upvotes: 1

Ben
Ben

Reputation: 702

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

Upvotes: 1

Patrick
Patrick

Reputation: 8300

If you really want this on the unload event then something like this will work (its untested), otherwise bind to whatever event you want:

$(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
        }
    });
    });

Upvotes: 0

Vivek
Vivek

Reputation: 11028

try in this way-

$(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);
    });
});   

Upvotes: 2

Daan Wilmer
Daan Wilmer

Reputation: 955

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

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

I hope this helps.

Upvotes: 0

thnee
thnee

Reputation: 5927

Use change(): http://api.jquery.com/change/

Example: To add a validity test to all text input elements:

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

Upvotes: 0

Related Questions