Jquery点击触发器不起作用

时间:2014-12-12 19:12:50

标签: javascript jquery

我有这个功能:

$(".action").click(function(){            
$.get('suppliers/template/get_options_list.php?action='+action+'&id='+id+'&optvalue='+optvalue+'&pid='+pid+'',
update_options);        
    }    
});    
function update_options(options){
$('#selectedoptions').html(options);    
}       

它适用于第一次单击触发器,但在ajax返回结果后,下一次单击不会触发..没有错误,控制台是清除但仍然

是什么导致这个?感谢

3 个答案:

答案 0 :(得分:1)

$(document).on('click','.action',function(){
$.get('suppliers/template/get_options_list.php?action='+action+'&id='+id+'&optvalue='+optvalue+'&pid='+pid+'',
update_options);      
});    
function update_options(options){
$('#selectedoptions').html(options);
}

如果提交输入使用

,则为.action
$(document).on('submit','your_form_ID_or_Class',function()

答案 1 :(得分:1)

尝试将click事件绑定到正文,而不是特定元素,一旦替换html就不再绑定了该元素:

    $("body").on("click", ".action", function(){            
      $.get('suppliers/template/get_options_list.php?action='+action+'&id='+id+'&optvalue='+optvalue+'&pid='+pid+'',
update_options);        
    }    
});    
function update_options(options){
$('#selectedoptions').html(options);    
}       

答案 2 :(得分:0)

我删除了ajax返回的html而不是它在ajax响应上我用.remove()函数删除元素而不是生成新的html ..谢谢你的帮助! 这不是原始的解决方案,但它工作正常..