2012-08-26 14 views
15

Basit sorunu. Bir jQuery seçicisinde de birleştirilmek istediğim bir js değişkeni var. Ancak çalışmıyor. Hatalar da yok. Yanlış olan ne? Bir jQuery seçicideki bir metne bir değişkeni doğru şekilde nasıl birleştiririm.Concatenate

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

jQuery sözdizimi ile yanlış bir şey yok

<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> 
+3

örneğin öğrenmek için $.post() sonra .fail() işleyicisi zincirleme bak. – valentinas

+0

@ ason328, 'console.log()' hakkında bilgi sahibi misiniz? Onun yardımıyla, ilginç satırlara yerleştirerek, kod adımınızda neler olduğunu adım adım – user907860

+0

Hayır olarak görebilirsiniz, bunun farkında değildim. Şimdi buna bakacağım. – jason328

cevap

30

bir String (genellikle CSS Seçici) veya jQuery Object oluşturmak için parametre olarak bir DOM Node kabul eder.

Durumda da

$(<a string>) 

Eğer değişkenler number ve text erişimi olduğundan emin olun olduğunu $() için bir Dize geçmelidir. Test için

yapın: Eğer, erişime sahip işleve parametre olarak geçmek yok görürseniz

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

, size $ .get için uual parametreleri içeren ve onlardan sonra özel parametreler geçmek zorunda.

+2

Müthiş. Net açıklama için teşekkürler. Değişen numaram undefined olarak adlandırıldı. – jason328

+0

Gald sabittir. Ama şimdi kafam karıştı, nasıl tamir ettin? :) – sabithpocker

+1

Noob hatası. Tıklama etkinliğinin dışındaki var numarayı arıyordum. – jason328

2

Birleştirme sözdizimi doğru.

Büyük olasılıkla geri arama işlevi bile çağrılmıyor. O işlevinde bir alert(), console.log() veya debugger hattını koyarak bu test edebilirsiniz.

Çağrılıyorsa, büyük olasılıkla bir AJAX hatası var demektir. http://jsfiddle.net/: Bir keman oluşturmalıdır .:, hatanın ne

$.post('ajaxskeleton.php', { 
    red: text  
}, function(){ 
    $('#part' + number).html(text); 
}).fail(function(jqXHR, textStatus, errorThrown) { 
    console.log(arguments); 
}); 
+0

$ .get geri arama kapsamındaki kapsam nedir? değişkenler sayı ve metin orada erişilebilir olacak mı? senin yukarıdaki kod tamamlandıktan – sabithpocker

+1

@sabithpocker eğer _lexical scope_ parçası çünkü, daha sonra 'number' ve' text' erişilebilir olacaktır. Geri aramalarda "gotcha" değişkeni budur, ancak bunu kullanmıyorsunuz. – Alnitak

+0

Sözcük kapsamına ışık tuttuğunuz için teşekkür ederiz. – sabithpocker

İlgili konular