我使用.prop
,.attr
,.removeAttr
,似乎没有任何效果。
$.ajax({
type:"post",
url:"{{base_url()}}admin/configurations/GetFormData/"+FormID,
dataType:"json",
success:function(response){
console.log(response);
if(!($.isEmptyObject(response))){
$.each(response,function(key,value){
$("#formName").val(value.FormName);
$("#formPath").val(value.FormPath);
$("#formCIPath").val(value.FormCIPath);
if(value.IsMenuLink !=='0'){
$("#isMenuLink").prop( "checked", true );
}
else{
$("#isMenuLink").prop( "checked", false);
}
console.log(value.IsMenuLink);
//alert(value.ExtimatedIncome);
});
}
}
}); //--- End of $.ajax ---//
Json将IsMenuLink返回"1"
或"0"
。
所以,当"1"
我想要检查它并"0"
时,应该取消选中它。
但问题是无论我使用prop还是attr它都不会影响复选框。
BTW我正在使用切换复选框..
这是HTML
<input class="make-switch" id="isMenuLink" type="checkbox" data-on-color="success" data-on-text="Yes" data-off-text="NO" data-off-color="danger">
答案 0 :(得分:0)
好的,我终于找到了解决方案,我不知道它对我来说是不是最好的。但至少它有效。如果有人有更好的jquery prposition,请回答它以使jquery更短。
无论如何问题不在于if / else语句既不是.prop。
但我正在使用引导开关复选框,当加载页面时添加类并执行操作......
然而事实证明我必须将类从off更改为on以更改复选框值。
if(value.IsMenuLink !=='0'){
$("#isMenuLink").parent().parent().removeClass('bootstrap-switch-off');
$("#isMenuLink").parent().parent().addClass('bootstrap-switch-on');
}
else{
$("#isMenuLink").parent().parent().removeClass('bootstrap-switch-on');
$("#isMenuLink").parent().parent().addClass('bootstrap-switch-off');
}
如果有人可以提出更好的jquery,那么交换课程请更快。