Jquery 复选框:通过Ajax更改复选框的状态

Jquery 复选框:通过Ajax更改复选框的状态,jquery,ajax,checkbox,Jquery,Ajax,Checkbox,我正在php文件中使用复选框 <label> <input type="checkbox" id="response" name="response" value="email">Email </label> 根据我的理解,$('#response').val(data.response)将不起作用。但我不确定我需要在那里放什么 谢谢大家。您可以在success回调中使用如下方法 success: function (data) { data

我正在php文件中使用复选框

<label>
    <input type="checkbox" id="response" name="response" value="email">Email
</label>
根据我的理解,
$('#response').val(data.response)将不起作用。但我不确定我需要在那里放什么

谢谢大家。

您可以在
success
回调中使用如下方法

success: function (data) {
    data = JSON.parse(data);
    $('#response').prop('checked', data.response == 1); //add this line
}

如果
data.response
1
,它将选中复选框,否则取消选中。

在成功函数中,将复选框设置为选中

if(data.response)
  $('#response').attr('checked','checked');
虽然使用prop方法确实更好/更新

    // new property method
 if(data.response)
    $('#response').prop('checked', true);
将使用.attr()检查data.response是否包含计算结果为true的值,因为该值已被弃用,不应使用。prop()是正确的解决方案。从jQuery 1.6开始,.attr()方法为尚未设置的属性返回undefined。要检索和更改DOM属性,如表单元素的选中、选中或禁用状态,请使用.prop()方法-
    // new property method
 if(data.response)
    $('#response').prop('checked', true);