2011-05-06 6 views
2

Comment concaténer une chaîne avec une variable javascript dans un sélecteur jquery? Si j'exécute le code ci-dessous. Tous les autres éléments de formulaire sont cachés.Comment concaténer une variable chaîne et javascript dans jquery selector

var inputatr = $('input[type=text]').attr(); //button 
$('input[value=string ' + inputatr +']').hide(); //textbox 

Mise à jour

<?php for($x=0; $x<4; $x++){ ?> 

<input type="text" id="<?php echo $x; ?>" name="<?php echo $x; ?>" value="text<?php echo $x; ?>"/> 
<input type="button" name="show<?php echo $x; ?>" value="string<?php echo $x; ?>"/></li> 

<?php } ?> 
+0

Que voulez-vous que le résultat soit? Je ne sais pas ce que vous obtenez quand vous ne passez pas un paramètre à 'attr'. Vérifiez ce que contient 'inputatr'. La concaténation de chaîne fonctionne de cette façon, mais assurez-vous de produire la bonne chaîne. S'il vous plaît poster votre code HTML. –

+0

@Felix Kling: J'ai mis à jour ma question, s'il vous plaît la voir, merci – user225269

+0

@ user225269 Je pense que ce que vous essayez d'accomplir est en fait contraire à ce que vous avez effectivement posté. Si ma présomption est correcte, vous essayez de masquer la zone de texte lorsque l'utilisateur clique sur le bouton correspondant. Est-ce exact? –

Répondre

5

Vous essayez de localiser toutes vos zones de texte et de cacher celui avec la valeur de 'string'? Si oui, la façon de le faire est en fait quelque chose comme ceci:

$('input[type=text]').filter('input[value=string]').hide() 

Mise à jour à cause de votre mise à jour:

$('input[type=button]').click(function(event) 
{ 
    var strNum = $(this).val('name').replace('string', ''); 

    $('#' + strNum).hide(); 
} 
5

$('input[value="string' + inputatr +'"]').hide();

Ce cache l'entrée avec la valeur égale à inputatr

+0

J'ai une valeur de chaîne avant l'attribut de la valeur de la zone de texte: user225269

+0

@user ajusté. – Raynos

+0

ses valeurs d'entrée de texte sont text + number, et tous ses boutons sont nommés string + number - ceci ne sélectionnera aucune zone de texte quand il cliquera sur le bouton. –

Questions connexes