I want to return false and return from function if I find first blank textbox
function validate(){ $('input[type=text]').each(function(){ if($(this).val() == "") return false; }); }
and above code is not working for me :( can anybody help?
each(), which is used to iterate, exclusively, over a jQuery object. The $. each() function can be used to iterate over any collection, whether it is an object or an array. In the case of an array, the callback is passed an array index and a corresponding array value each time.
Projects In JavaScript & JQueryYou cannot return variable value from jQuery event function.
each() function, jQuery's foreach equivalent. jQuery's foreach equivalent can be very useful for many situations. These examples will get you started and teach you how you can loop through arrays, objects and all kinds of HTML elements.
To break a $. each or $(selector). each loop, you have to return false in the loop callback. Returning true skips to the next iteration, equivalent to a continue in a normal loop.
You are jumping out, but from the inner loop, I would instead use a selector for your specific "no value" check, like this:
function validate(){ if($('input[type=text][value=""]').length) return false; }
Or, set the result as you go inside the loop, and return that result from the outer loop:
function validate() { var valid = true; $('input[type=text]').each(function(){ if($(this).val() == "") //or a more complex check here return valid = false; }); return valid; }
You can do it like this:
function validate(){ var rv = true; $('input[type=text]').each(function(){ if($(this).val() == "") { rv = false; // Set flag return false; // Stop iterating } }); return rv; }
That assumes you want to return true
if you don't find it.
You may find that this is one of those sitautions where you don't want to use each
at all:
function validate(){ var inputs = $('input[type=text]'); var index; while (index = inputs.length - 1; index >= 0; --index) { if (inputs[index].value == "") { // Or $(inputs[index]).val() == "" if you prefer return false; } } // (Presumably return something here, though you weren't in your example) }
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With