Javascript 在false上选中复选框-jquery

Javascript 在false上选中复选框-jquery,javascript,jquery,checkbox,Javascript,Jquery,Checkbox,警报正确地将第['checkb']行中的值显示为false,但复选框仍被勾选。我是否缺少某些引用,或者我是否可以不使用行值 试试看 $('#checkyes').prop('checked', row['checkb']); var check = row['checkb']; alert(check); $('#checkyes').checkboxradio('refresh'); 或 或 问题 行['checkb']具有值字符串true或false不是布尔值 所以$('#checky

警报正确地将第['checkb']行中的值显示为false,但复选框仍被勾选。我是否缺少某些引用,或者我是否可以不使用行值

试试看

$('#checkyes').prop('checked', row['checkb']);
var check = row['checkb'];
alert(check);
$('#checkyes').checkboxradio('refresh');



问题

行['checkb']
具有值字符串
true
false
不是布尔值

所以
$('#checkyes').prop('checked',row['checkb'])将计算为选中

这里的字符串值
prop('checked',String)
使其适用于所有情况。

根据的答案,我建议:

var chk = (row['checkb'] == 'true') ? true : false; //Or var chk = (row['checkb'] == 'true');
$('#checkyes').prop('checked', chk );

row['checkb']
value string/boolean吗?啊,当然……它可能是一个字符串,谢谢,我现在将更改它,看看它是否工作。问题是SQLite没有一个真/假值,它有0或1个存储为整数。显然,我如何使用prop()解决这个问题?也许使用评估<代码>行['checkb']==1
评估将返回布尔值;您不需要查看它是否为真/假,然后返回真/假。问题是SQLite没有一个真/假值,它有0或1,这是问题所有者告诉您的,这就是为什么我用ZeroWonder检查的原因,所以为什么不评估它有哪些条件(整数0和1,根据问题本身的注释)来表示假/真?无论哪种方式,评估结果都是布尔值,那么为什么不使用它呢?谢谢,我理解@DavidThomas@Mohd很高兴它有帮助。在这个cas中,您只需使用JSON.parse(行['checkb'])
$('#checkyes').prop('checked', (row['checkb'] == 'true') ? true : false);
$('#checkyes').prop('checked', (row['checkb'] == 'true') );
var chk = (row['checkb'] == 'true') ? true : false; //Or var chk = (row['checkb'] == 'true');
$('#checkyes').prop('checked', chk );
$('#checkyes').prop('checked', row['checkb'] == 'true');