var vaziosInput = jQuery('div[id$=divSetup] input[value=""].obrigatorio').length;
Funciona muito bem no IE. Mas, no chrome e no firefox, sempre acusava que todos os campos estavam vazios.
Acontece que no Chrome e FF, o value continua vazio, mas o que é preenchido é o conteúdo do input.
Foi então que tentei assim:
var vaziosInput = 0;
jQuery('div[id$=divSetup]').find('input.obrigatorio').each(function(){
if (jQuery(this).val() == ""){
vaziosInput ++;
}
});
Update: http://bugs.jquery.com/ticket/7128
É um bug desta versão do Jquery, deve ser corrigido em breve.
Mas o código abaixo funciona bem:
jQuery('div[id$=divSetup] input.obrigatorio').filter('[value=""]').length;