2009-12-11 7 views
0
function areaMe(area){ 
        var barea = $('#barea').val(); 
        if(barea.indexOf(area)!=-1){ 
         barea=barea.replace(area, ""); // remove 
        }else{ 
         barea+=area; // inlcui 
        } 
        $('#barea').val(barea); 
       } 

Il ne fonctionne pas si l'entrée #barea est caché ...jQuery changer la valeur d'un champ caché

+1

Comment caché? Comme dans 'type = hidden'? Ou 'display: none'? Ou 'visibilité: caché'? –

+0

Comment voyez-vous la valeur "cachée"? Firebug? – ram

+0

son ensemble comme 'affichage: aucun' –

Répondre

3

Pour une entrée cachée J'utilise toujours

var barea = $('#barea').attr('value'); 

$('#barea').attr('value',barea); 

pas val (). Je n'ai jamais eu de chance de changer la valeur d'un input type=hidden d'une autre manière.

Si barea n'est pas un input type=hidden, vous devez inclure le code HTML correspondant. Notez qu'il doit s'agir d'un type d'entrée car val() ne fonctionne que sur les entrées, les sélections et les zones de texte.

+0

Droite. J'ai changé l'entrée à «caché» et enlevé le «affichage: aucun» et cela fonctionne très bien. –

+0

C'est étrange. J'ai un code où j'ai pu tester et modifier les valeurs des entrées cachées, pas de problème. – CAbbott

+0

@ CAbbott Moi aussi. Allez comprendre... –

0

Vous devez fournir plus d'informations. J'ai toujours été capable d'utiliser val() sur des entrées cachées (dans le sens de type = "hidden", bien que j'ai aussi testé avec "disply: none" et aussi travaillé). J'en ai même testé un tout à l'heure, et bien sûr cela a fonctionné avec les deux formes "get" et "set" de val(). Donc, bien que .attr ("value") puisse fonctionner, il ne devrait vraiment pas être nécessaire. Pouvez-vous s'il vous plaît fournir:

A) Laquelle des deux formes échoue pour vous (le formulaire "get" ou le "set")?

B) Le code HTML qui définit votre entrée cachée?

Questions connexes