我的目标是让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');
});
});
答案 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