2013-01-21 58 views
-2

我的最終目標是讓ajax顯示的內容可點擊,以便將其值存入文本框。帶jQuery內容的jquery點擊函數

現在我有ajax加載,但是當我點擊它時,它不起作用。截至目前我有jquery分配了'a'標籤,所以當它被點擊時,它將靜態文本「works」放在textarea中,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> 

JQUERY:

$(document).ready(function() { 

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

}); 
+0

這將是一個很好的笑話,張貼重複的鏈接... –

回答

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

我想通了,並在回來看到有人發貼。

我試過這個,它沒有工作。什麼工作是.live

+1

你使用什麼版本的jQuery? – Alexander

+0

jquery-1.7.1.min.js – Dom

+0

然後['$(document).on(「click」,「.module」,function(){...});'](http://stackoverflow.com/a/14446944/417685)應該可以工作! – Alexander

0

您需要使用.on功能:

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

這允許'click'函數附加到通過ajax引入的元素。

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'); 
}); 
0

你想要的是委派的事件,要做到這一點,你可以使用.on()

$(document).ready(function() { 

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

});