【问题标题】:Trigger a jQuery event with a checkbox - and pass the value?使用复选框触发 jQuery 事件 - 并传递值?
【发布时间】:2013-01-03 07:43:31
【问题描述】:

抱歉,这个问题的标题可能很糟糕 - 我努力想出更好的东西!

我正在编写一个简单的“待办事项”列表,作为更广泛应用程序的一部分,但由于我有限的 jQuery/Javascript 知识遇到了一个绊脚石。

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

到目前为止,当用户与复选框交互时,我已经触发了警报,现在已经获得了显示复选框的值(这是任务的简单 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#">

非常感谢您的指点!

【问题讨论】:

    标签: jquery


    【解决方案1】:

    可以如下做一个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 的表单一样接收数据

    【讨论】:

    • @charlietfl 我发现自己在你的另一个帖子中找到了我的问题的另一个答案。干得好;)
    【解决方案2】:

    你基本有,用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#">
    

    【讨论】:

    • 谢谢,我的回答有点草率,更新它以反映@charlietfl
    • 感谢 Nicholas,我开始使用您的示例,并在 @charlietfl 发布了他的示例时返回了一个关于传递值的问题。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-04-04
    • 2012-05-03
    • 2010-12-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多