如何在多选小部件中取消选中单个选中的复选框?

优格

我想在多选小部件中自动取消选中已选中的复选框。我正在对多选小部件的复选框执行点击事件。然后单击复选框后,我通过ajax向php页面发送请求以检查某些结果。如果我成功获得结果,那么我只是向用户发出警报。然后在收到警报后,我想自动取消选中该复选框。我正在提供我的代码。这是我的jQuery代码:

$("#multiselectunittype").multiselect("widget").on('click',':checkbox',function(e)
            {

                $.ajax({
                    url: "checkforentry2.php",
                    type: "POST",
                    data: 
                    {
                        chargetype : $('#ddlchargetype').val() 

                    },
                    success: function(data, textStatus, jqXHR)
                    {
                         if(data == "No")
                         {

                         } 

                         else
                         {
                            alert(data);
                            $(this).prop('checked',false);


                         }

                    }

                    });

            }); 

所以,请告诉我该怎么做?

拉维

默认情况下,上下文是一个对象,代表调用中使用的ajax设置($.ajaxSettings与传递给的设置合并$.ajax)。

所以这里$(this)代表ajax设置

你可以添加一个hack

$("#multiselectunittype").multiselect("widget").on('click',':checkbox',function(e){
  var $element=$(this);    
  $.ajax({
           url: "checkforentry2.php",
           type: "POST",
           data:{
                  chargetype : $('#ddlchargetype').val() 
                },
           success: function(data, textStatus, jqXHR){
                      if(data == "No"){

                       }else{
                         alert(data);
                         $($element).prop('checked',false);
           }
         }

        });
    }); 

或者您可以在ajax设置中使用上下文选项:

context: this,
success:fuction(){
  $(this).prop('checked',false);
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章