在javascript程序中,我需要将1转换为true,将0转换为false; 我的程序片段如下所示
var has_extra_status = 1;
$("#MealOptionFoodHasExtras").attr('checked', has_extra_status);
我有一个状态变量,它保存数值0或1; 基于那个复选框将被检查或不。 我怎样才能实现这一目标? 提前谢谢。
答案 0 :(得分:2)
你可以使用.prop()inbuild函数而不是.attr()因为jQuery .attr()已被弃用/删除以用于"已检查"并且"禁用"物业。 Reference
var val="";
if(has_extra_status==1)
{
val= true;
}
else if(has_extra_status==0)
{
val= false;
}
$("#MealOptionFoodHasExtras").prop('checked', val);
答案 1 :(得分:0)
checked
是属性,应使用属性 setter .prop(property, value)
而不是.attr()
进行修改。
它也会将数值(以及其他值)读取为布尔值。
// for true:
var has_extra_status = 1;
// var has_extra_status = 999;
// var has_extra_status = 'yes!';
// var has_extra_status = true;
// for false:
// var has_extra_status = 0;
// var has_extra_status = '';
// var has_extra_status = false;
// var has_extra_status = null;
$("#MealOptionFoodHasExtras").prop('checked', has_extra_status);
答案 2 :(得分:0)
var x = 0;
document.getElementById("demo").innerHTML = Boolean(x);
答案 3 :(得分:0)
尝试if条件并指定布尔值
var status;
if(has_extra_status==1)
{
status = true;
}
else if(has_extra_status==0)
{
status = false;
}
然后
$("#MealOptionFoodHasExtras").attr('checked',status);