【发布时间】:2014-09-25 10:23:00
【问题描述】:
Ajax Jquery
> $(".myonoffswitch").live("click",function(){
var prod_id = $(this).attr('id');
var status = $(this).attr('value');
var tdid =$(this).parent().prev().attr('class');
var td = $(this).parent().prev();
$.ajax({
type: "POST",
url: "<?php echo base_url().'index.php/cms/ads_status'; ?>",
dataType: "json",
data: {
'prod_id': prod_id,
'status' : status
},
success: function(msg)
{
var updated_status = msg[0].post_status;
if(updated_status=="0" && tdid == prod_id){
$(".myonoffswitch").attr("value", updated_status);
}
if(updated_status=="1" && tdid == prod_id){
$(".myonoffswitch").attr("value",updated_status);
}
}
});
});
HTML
<table><tr>
<?php foreach($get_product as $products) { ?>
<td class="<?php echo $products->id ?>" id="on-of">
<input type="checkbox" class="myonoffswitch" id="<?php echo $products->id; ?>" value="<?php echo $products->post_status;?>">
</td>
<?php } ?>
</tr></table>
您好,我在这里将复选框单击后的值更新为 0 或 1。如果复选框值为 0,则在数据库中更新为 1,反之亦然。我成功地从 ajax 获得了更新的值,当它尝试用更新的值更改复选框的值时,它会将值更改为从 foreach 循环获得的所有复选框。我想将值更改为仅具有类 .myonoffswitch 的特定复选框,在该复选框上单击它而不是所有复选框。我怎样才能做到这一点。我在 ajax 成功后使用 $(this) 代替使用 .myonoffswitch 但我没有更改值。请问会是什么错误。谢谢。
【问题讨论】:
标签: jquery ajax json codeigniter