我的脚本确实遇到了一些问题:确实需要2次点击才能在点击事件中工作。脚本是这样的:
$('td#td_new').live('click', function() {
$.ajax({
type: 'GET',
url: 'add_hobby.php',
data: { hobby: $('#ricerca_interests').val() },
success: function(msg) {
nuovo_hobby="<tr id='hobby' class='checked' selezionato='si' hobby_id='"+msg+"' ><td id='hobby' width='179px'><div id='nome_hobby'>"+$('#ricerca_interests').val()+'</div></td></tr>';
$(nuovo_hobby).appendTo("#interessilista");
$('tr#new_hobby').hide().remove();
},
error: function() {alert("Error. Try later.");}
});
});
答案 0 :(得分:0)
从jQuery 1.7开始,不推荐使用.live()方法。你应该使用.on()来附加事件处理程序。
您的代码似乎不会产生可能导致第二次点击需要的内容......但请尝试更改 -
$('td#td_new').live('click', function() {
到
$(document).on('click','#td_new', function() {
然后打开firebug或在console.log('something')
部分添加success:
- 并确保ajax请求按照需要完成,而不是继续运行。
除此之外我们需要更多代码...
玩得开心。
修改强>:
我试图根据你上传的代码了解你要做什么,但是 现在有测试它,所以这里有一些见解:
class
而不是id
来声明它们。add_hobby
,而不是td
。以下是使用on()并将代码附加到页面的小型演示:
现在可以随时向我指出您的确切问题。