-2

私の最終的な目標は、ajax で表示されるコンテンツをクリックして、その値が何であれテキスト ボックスに押し込むことです。

現在、ajax をロードしていますが、クリックしても機能しません。今のところ、jqueryに「a」タグを割り当てているので、クリックすると静的テキスト「works」がid = email-bodyのテキストエリアに配置されます。

$(document).ready(function() {

    // Expand Panel
    $('a').click(function(){ 
        $('#email-body').val($('#email-body').val()+'works');
    }); 

});

これは、ajax コンテンツの一部ではないタグに対してはうまく機能しますが、ajax コンテンツに対しては機能しません。jquery が ajax コンテンツに影響を与えるために使用する特別なプル システムはありますか?

また、静的テキストとタグのクリックは、私が望んでいるわけではありません。

現在、私のajaxは次のことを行っています:

foreach($search_found as $search_row){
    $hint=$hint . '<a>'.ucwords($search_row['email_module_name']).'</a>';
}
echo $hint;

私がそれを持つことができる方法はありますか:

AJAX:

<div class="module" value="'.ucwords($search_row['email_module_name']).'">
     '.ucwords($search_row['email_module_name']).'
</div>

Jクエリ:

$(document).ready(function() {

    // Expand Panel
    $('.module').click(function(){ 
        $('#email-body').val($('#email-body').val()+'$this->value');
    }); 

});
4

4 に答える 4

0

.on次の関数を使用する必要があります。

$('div').on('click', '.module', function(){ 
    $('#email-body').val($('#email-body').val()+'$this->value');
});

これにより、「クリック」機能を ajax 経由で取り込まれた要素にアタッチできます。

于 2013-01-21T20:45:31.130 に答える
0

.on()を使用して、イベントを現在および将来の要素にバインドできます。

$(document).on("click", "a", function(){ 
    $('#email-body').val($('#email-body').val()+'works');
});

または、

$(document).on("click", ".module", function(){
  $('#email-body').val($('#email-body').val()+'$this->value');
});
于 2013-01-21T20:47:12.183 に答える
0

あなたが望むのは、イベントを委任することです。これを行うには、使用できます.on()

$(document).ready(function() {

    // Expand Panel
    $(documnet).on('click', 'a', function(){ 
        $('#email-body').val($('#email-body').val()+'works');
    }); 

});
于 2013-01-21T20:47:47.050 に答える
-1
$('.module').live('click', function(){ 
    $('#email-body').val($('#email-body').val()+'$this->value');
}); 

私はそれを理解し、誰かが.onに投稿したのを見るために戻ってきました

これを試してみましたが、うまくいきませんでした。うまくいったのは.liveだった

于 2013-01-21T20:48:43.693 に答える