Javascript 三元运算符在输入标签内不起作用

Javascript ternary operator not working inside input tag

本文关键字:输入 标签 不起作用 运算符 三元 Javascript      更新时间:2023-09-26

我有返回真/假的javascript,它最终决定是否选中复选框。

下面是代码。但行为不符合预期。此代码将配置文件值设置为选中,而不是属性值。你能告诉我有什么问题/缺失吗?

function isProductSelected(product, selectedproduct){
        $.each(selectedproduct,function(k,selectedproduct){
            if(product.id == selectedproduct.id){
                return true;
            }
        });
        return false;
}
profile+='<li class="list-group-item"><div class="checkbox">'
                                +'<label><input class="product '+i+'" type="checkbox" value="'+product.id+'" id="'+product.id+'"'+ ((isProductSelected(product,data.products) == true)?'checked':'')  +'> '+product.productName+'</label>'
                                +'</div></li>';

这些括号太多了。以下内容将起作用

(isProductSelected(product,data.products)  ? 'checked' : '')