web-dev-qa-db-ja.com

jQuery Selectorで連結する

単純な問題。 jQueryセレクター内でも連結したいjs変数があります。ただし、機能していません。エラーも表示されません。なにが問題ですか?変数を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> 
22
jason328

の構文には何も問題はありません

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

jQueryは、パラメーターとしてString(通常CSSセレクター)または DOM Node を受け入れて、 jQueryオブジェクト

あなたの場合、文字列を$()に渡す必要があります

_$(<a string>)
_

変数numberおよびtextにアクセスできることを確認してください。

テストするには:

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

アクセスできない場合は、関数にパラメーターとして渡し、$。getの通常のパラメーターを含めて、その後にカスタムパラメーターを渡す必要があります。

35
sabithpocker

連結構文は正しいです。

ほとんどの場合、コールバック関数は呼び出されていません。その関数にalert()console.log()、またはdebuggerの行を挿入することでテストできます。

呼び出されていない場合は、おそらくAJAXエラーです。.fail()の後に$.post()ハンドラーをチェーンして、エラーの内容を確認してください。

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