Concaténate dans le sélecteur jQuery

problème Simple. J'ai une variable js que je veux concaténer aussi dans un sélecteur jQuery. Cependant, il n'est pas de travail. Pas d'erreurs sont popping up. Quel est le problème? Comment puis-je concaténer correctement une variable à un texte dans un sélecteur jQuery.

<div id="part2"></div>

<script type="text/javascript" >

$('#button').click(function () 
{
var text = $('#text').val();    
var number = 2;
$.post('ajaxskeleton.php', {
red: text       
}, 
    function(){
    $('#part' + number).html(text);
    }); 
});


</script> 
17
demandé sur jason328 2012-08-27 03:00:19

2 réponses

Il n'y a rien de mal avec la syntaxe

$('#part' + number).html(text);

jQuery accepte une chaîne ( habituellement un sélecteur CSS) ou Dom Node comme paramètre pour créer un Objet jQuery.

dans votre cas, vous devez passer une chaîne à $()

$(<a string>)

assurez-vous d'avoir accès aux variables number et text.

À tester faire:

function(){
    alert(number + ":" + text);//or use console.log(number + ":" + text)
    $('#part' + number).html(text);
}); 

si vous voyez que vous n'avez pas accès, passer en paramètres à la fonction, vous devez inclure le uual paramètres de $.obtenez et passez les paramètres personnalisés après eux.

32
répondu sabithpocker 2017-05-23 12:16:55

votre syntaxe de concaténation est correcte.

il est fort probable que la fonction de rappel ne soit même pas appelée. Vous pouvez tester cela en mettant un alert(),console.log() ou debugger ligne dans cette fonction.

si elle n'est pas appelée, il y a très probablement une erreur AJAX. Regardez enchaînant un .fail() gestionnaire après $.post() pour savoir quelle est l'erreur, par exemple:

$.post('ajaxskeleton.php', {
    red: text       
}, function(){
    $('#part' + number).html(text);
}).fail(function(jqXHR, textStatus, errorThrown) {
    console.log(arguments);
});
2
répondu Alnitak 2012-08-26 23:11:59