如果复选框被选中,则包含变量

If checkbox is checked include variable

本文关键字:包含 变量 复选框 如果      更新时间:2023-09-26

我在我的dataString中有一个很长的列表,这里是一小部分:

var dataString = '&header' + header
               + '&logo' + logo
               + '&body' + body;

我想在数据字符串中包括徽标,如果徽标复选框被选中。我如何检查徽标复选框在dataString内被选中?

我可以推荐三元运算符吗?

var logoCheckboxIsChecked = document.getElementById('logoCheckboxId').checked;
var dataString = '&header' + header
               + logoCheckboxIsChecked ? '&logo' + logo : '',
               + '&body' + body;

在我最初的回答中,logoCheckboxIsChecked只是一个变量,它保存复选框的checked状态。我也可以这样写:

var logoCheckbox = document.getElementById('logoCheckboxId');
var logoCheckboxIsChecked = logoCheckbox.checked;

在回答你的另一个问题("在Javascript中是否存在一个isChecked函数"):

没有isChecked函数在JavaScript(据我所知),但你可以做一个,如果你喜欢。下面是isChecked函数的一个简单示例:

// simplified example
var isChecked = function isChecked(elem) {
    var checked = false;
    if (elem.checked !== undefined)
        checked = elem.checked;
    }
    return checked;
};

用法示例:

var dataString = '&header' + header
               + isChecked(document.getElementById('logoCheckboxId')) ? '&logo' + logo : '',
               + '&body' + body;
var dataString = '&header' + header;
if (document.getElementById('id_of_logo_checkbox').checked)
{
    dataString += '&logo' + logo;
}
dataString += '&body' + body;
var dataString = "...";
if(document.getElementById('checkid').checked = true;
{
dataString += logo;
}
//...code
if(document.getElementById('checkid').checked == true)
dataString += logo;