我在我的代码中有一个小问题。 我有一个函数,它需要loadData AJAX页面。 此结果将复选框放在我的页面上。 (这是行)JQuery从Ajax更改复选框状态
现在我想单击一个复选框时,执行一个AJAX请求是更改数据库中的值(这也是可以的)。
问题是: 当我点击一个复选框(未选中)时,它会勾选并执行ajax,一旦执行了ajax,该框就不会单独选中。
我做了几个测试,我意识到问题只发生在Ajax请求中的复选框时。我试图添加$(选择器).attr('checked',true)和false,但没有任何工作。
jQuery的(问题是在loadData函数执行Ajax时,单独的复选框取消选中):
$(document).ready(function() {
$('#TableContainer .RCkbox').live('click',function(){
var idOperation = 550;
if($(this).is(":checked")){
$.ajax({
type: "POST",
url: "includes/ajax/OperationRapprochement.php",
data: "sessionId=" + <?php echo $User->getId(); ?> + "&AccountNumber=" + <?php echo $compte->getId(); ?> + "&idOperation=" + idOperation + "&action=rapproche",
success: function(msg)
{
//TODO
}
});
}
else{
$.ajax({
type: "POST",
url: "includes/ajax/OperationRapprochement.php",
data: "sessionId=" + <?php echo $User->getId(); ?> + "&AccountNumber=" + <?php echo $compte->getId(); ?> + "&idOperation=" + idOperation + "&action=derapproche",
success: function(msg)
{
//TODO
}
});
}
});
function loadData(){
$.ajax({
type: "POST",
url: "includes/ajax/test.php",
data: "sessionId=" + <?php echo $User->getId(); ?> + "&AccountNumber=" + <?php echo $compte->getId(); ?>,
success: function(msg){
$("#TableContainer").ajaxComplete(function(event, request, settings){
$("#TableContainer").html(msg);
});
}
});
}
loadData();
});
我就使视频向您展示在行动的问题:http://youtu.be/nG9XF2f4M18
感谢你的帮助。
嗨感谢您的回答,但点击方法已附加到复选框(我已使用警报(“ok”)进行测试,并且在单击该复选框时它已工作) 我也测试过复选框由for循环生成并没有问题。只有当复选框来自ajax响应时才会出现问题。 – Warks 2012-08-14 22:18:46
我制作了一段视频,向您展示问题:http://youtu.be/nG9XF2f4M18 – Warks 2012-08-14 22:51:29
好的我现在明白了。在你为视频制作的代码中,你有没有替代// TODO的东西?此外,你可以访问所有的HTML代码链接?顺便说一下,您应该在document.ready之外声明函数loadData。 – 2012-08-15 02:44:47