使用复选框触发jQuery事件 - 并传递值?

时间:2013-01-02 23:21:15

标签: jquery

道歉这个问题可能是一个糟糕的标题 - 我努力想出更好的东西!

我正在开发一个简单的“待办事项”列表作为更广泛的应用程序的一部分,并且因为我有限的jQuery / Javascript知识而遇到了绊脚石。

该页面包含许多复选框 - 每个'任务'旁边都有一个复选框。我需要做的是每次选中或取消选中复选框时触发'get'事件('get'将触发一个保存状态的后端脚本 - 即check会将其保存为'done',而取消选中它将会将其保存为“待定”。)

当用户与复选框交互时,我已经回复了警报,并且现在已经获得警报以显示复选框的值(这是任务的简单ID),但是我我坚持如何将所有这些结合在一起以触发.get

这是我到目前为止所拥有的......

<script>
$(document).ready(function(){
$(":checkbox").change(function(){
    if($(this).attr("checked"))
    {
        alert($(this).is(':checked'))
    }
    else
    {
        alert($(this).val());
    }
});
});
</script>

<input type="checkbox" value="#itemID#">

指针非常赞赏!

2 个答案:

答案 0 :(得分:4)

可以按如下方式执行AJAX请求:

$(":checkbox").change(function(){
     var data= { 
         id: this.value,
         status : this.checked ? 'done' :'pending'
     } ;
    $.get( 'serverFile.php', data, function(response){
         /* ajax is complete here, can do something with response if needed*/
     })

});

在服务器上,您将收到包含字段名称idstatus

的表单的数据。

答案 1 :(得分:1)

你基本上拥有它,只需使用jQuery $.get()

<script>
$(document).ready(function(){
    $(":checkbox").change(function() {
        $.get('/url/to/response', { id: this.value, is_checked: this.checked });
    });
});
</script>

<input type="checkbox" value="#itemID#">