我想在多选小部件中自动取消选中已选中的复选框。我在多选小部件的复选框上执行click事件。单击复选框后,我通过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);
}
}
});
});
所以请告诉我该怎么做?
答案 0 :(得分:1)
默认情况下,上下文是一个对象,表示调用中使用的ajax设置($.ajaxSettings
与传递给$.ajax
的设置合并)。
所以这里$(this)
代表ajax设置
你可以添加黑客
$("#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选项:
context: this,
success:fuction(){
$(this).prop('checked',false);
}