javascript - 使用ajax控制复选框 Action

标签 javascript php jquery ajax checkbox

我使用 CSS 切换按钮来显示事件非事件。它使用 HTML 复选框并修改其 CSS,使其看起来像切换滑动条。我已将 onClick 事件绑定(bind)在复选框上,以便在选中该复选框时,它会通过 AJAX 请求将 id 发送到 URL,该 URL 会使用给定的值更新行的状态id 为 active 并回显 active。 URL 返回的 PHP 回显现在显示在切换按钮下方。

在这里,当首先单击复选框时,会选中该复选框并将 AJAX 请求发送到 URL,我想要的是当单击该复选框时,该复选框不会被选中或取消选中,但会发送 AJAX 请求,并且当响应到达后,仅根据响应将复选框的状态更改为选中或未选中。我怎样才能实现这个目标?有人可以举个例子来澄清吗? ajax处理程序代码是:

function toggleStatus(id)
  {
    $.ajax
        ({ 
            url: "project/news/toggleStatus?id="+id,
            type: 'get',
            success: function(result)
            {

                $('#status_txt'+id).html(result);
                $('#status_txt'+id).attr('class', 'status_'+result);

            },
            error: function()
            {
               $('#modalinfo div').html(' <div class="modal-content"><div class="modal-header"><h2>Could not complete the request.</h2></div></div>');
                $('#modalinfo').modal('show'); 
            }
        });
  }

html 是:

<td class="numeric"><label class="switch">
                                                                @if($data->status=="active")
                                                                <input class="switch-input" type="checkbox" onClick="javascript:toggleStatus({{$data->id}})" checked="checked"/>
                                                                @else
                                                                <input class="switch-input" type="checkbox" onClick="javascript:toggleStatus({{$data->id}})"/>
                                                                @endif
                                                                <span class="switch-label" data-on="On" data-off="Off"></span> 
                                                                <span class="switch-handle"></span> 
                                                            </label>
                                                            <span id="status_txt{{$data->id}}" class="status_{{$data->status}}">@if($data->status=="inactive")<p style="color:red;">{{ ucfirst($data->status) }}</p>@else{{ ucfirst($data->status) }}@endif</p></span>
                                        </td>

最佳答案

使用java脚本: 假设复选框 id="ck"

<input type="checkbox" id="ck" onClick="if(ck==1)unChecked();else doChecked();">


ck=0; //init checkbox is unchecked
function doChecked(){    
document.getElementById("ck").checked="checked";
document.getElementById("ck").checked=true;
ck=1;
}
function unChecked(){    
document.getElementById("ck").checked="";
document.getElementById("ck").checked=false;
ck=0;
}

关于javascript - 使用ajax控制复选框 Action ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33604808/

相关文章:

javascript - JEST 和 Vue.js 失败 "Plugin/Preset files are not allowed to export objects, only functions."

javascript - 列过滤器不适用于行分组

c# - 如何从javascript获取返回值到.cs页面

PHP 和 PDO : Which is faster? 正在获取 COUNT(*) 或 rowCount()?

javascript - 如何在窗口大小调整时运行 Bootstrap 附加功能

javascript - javascript如何初始化变量打印未定义?

php - PHP 中的 Linux 命令

php - 正在使用 PHP 通过 HTML 表单插入 MySQL,但数据不可搜索

php - 在wordpress自定义模板中显示插入的数据

javascript - 获取背景图片url值