script sont suivant:js portée variable - retour affectation initiale au lieu de changer
function clicker(){
var linkId = "[id*=" + "link]";
var butnId='initial';
$j(linkId).click(function(){
var postfix = $j(this).attr('id').substr(4);
butnId = '#' + 'butn' + postfix;
});
return butnId;
}
sortie de fonction est la valeur 'initiale'.
Comment retourner la valeur réelle de la variable butnId, après avoir été transformé au sein de la fonction de clic?
on ne sait pas, à partir de votre code, ce que vous voulez vraiment atteindre ici. quand 'clicker' revient, il n'aura pas exécuté la partie' postfix'. tout ce qu'il a fait était de dire que ce code devrait être exécuté * quand un certain lien est cliqué *. il n'y a pas de boucle pour transformer la valeur. Qu'est-ce que vous voulez que 'clicker' atteigne? –
Je veux extraire un postfix du lien cliqué, et sur sa base je saurai quel lien devrait être cliqué suivant - son ID est butnId. Semble que je pense à partir du point Java, lorsque j'initialise la variable, transtom à l'intérieur, par exemple. boucle, et sa valeur est modifiée. Donc, je vais essayer vos propositions ci-dessous. Merci. – sergionni
Je veux ajouter, que j'effectue un clic sur l'interface utilisateur et que butnId est vraiment changé, mais il est inchangé en tant que sortie de fonction, donc il ne sort pas de la portée de la fonction de clic et reste immuable. – sergionni