jquery单击具有ajax内容的函数

时间:2013-01-21 20:42:56

标签: php jquery ajax

我的目标是让ajax显示的内容可以点击,以便将它的价值推送到文本框中。

现在我有ajax加载但是当我点击它时,它不起作用。截至目前,我已经为jquery分配了'a'标签,因此当它被点击时,它会将静态文本“works”放入带有id = email-body的textarea中。

$(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>

JQUERY:

$(document).ready(function() {

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

});

4 个答案:

答案 0 :(得分:0)

您需要使用.on功能:

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

这允许'click'函数附加到通过ajax引入的元素。

答案 1 :(得分: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');
});

答案 2 :(得分:0)

您想要的是委托事件,为此,您可以使用.on()

$(document).ready(function() {

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

});

答案 3 :(得分:-1)

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

我想出来并回来看到有人张贴.on

我尝试过这个并没有用。做了什么工作.live