se il codice va bene per menu1 non vedo perche non dovrebbe funzionare per menu3, sicuro che non ci sia qualche altro errore? la chiamata ajax va a buon fine?
sicuro che il codice html della pagina è esattamente uguale a quello postato? prova a mettere un alert cosi:
alert($(this).parents('.div_1').find(".menu3").len gth);
Se ti da 1 significa che ha trovato la select
p.s. senza spazio nella parola length, lo aggiunge il forum, non so perchè
boh, penso ci sia qualche problema nel codice html, guarda il codice sorgente della pagina(tasto destro-> html) per vedere anche cosa ti ha generato php, magari hai dimenticato di chiudere correttamente qualche tag
beh non è detto, se non hai chiuso correttamente qualche tag , menu3 potrebbe non essere trovato correttamente con i metodi di traversing, mentre viene trovato se cercato puntualmente. Cmq per curiosità ho creato una demo, http://jsbin.com/hutalusi/1/edit, direi che funziona bene.
Ricapitolando..
codice:<script type="text/javascript"> $(document).ready(function() { $('.test').change(function(){ var idmenu1 = $(this).parents('.div_1').find(".menu1").val(); alert( $(this).parents('.div_1').find(".menu1").val()); //restituisce valore var idmenu2 = $(this).parents('.div_1').find(".menu2").val(); $.ajax({ type: "POST", url: 'search.php', data: 'idmenu1=' + idmenu1 + '&idmenu2=' + idmenu2, success: function(data) { alert( $(this).parents('.div_1').find(".menu1").val()); //restituisce undefined } }); }).change(); }); </script>