How to exit nextAll () function

I have this function:

$('.trackInputHours').change(function() {
    var changeVal=$(this).val();
    $(this).closest('.trackOn').nextAll('.trackOn').find('.trackInputHours').val(function(i, v){
        if((v=='??') || (v<changeVal)) {
            return changeVal; 
        } 
    });
});             

and I would like to break nextAll()when v==changeVal; keeping old values ​​of these elements.

A is a kind of } else break;

How can i do this?

+3
source share
2 answers

How easy it is to use .each()and use return falseto stop the iteration.

$('.trackInputHours').change(function() {
    var changeVal=$(this).val();
    $(this).closest('.trackOn').nextAll('.trackOn').find('.trackInputHours').each(function(){
        var v = $(this).val();
        if((v=='??') || (v<changeVal)) {
            $(this).val(changeVal);
        } 
        if(changeVal == v){
            return false;
        }
    });
});  

Jsfiddle example

type in 5 and it will change everything <input type="text"/>until it reaches 5

+3
source

Perhaps instead nextAll function nextUntil does what you want?

+2
source

All Articles