1

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

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

我只想在检查徽标复选框时才在数据串联中包括徽标。如何检查 dataString 中的徽标复选框是否已选中?

4

4 回答 4

3

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

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 函数”):

JavaScript中没有isChecked函数(据我所知),但如果你愿意,你可以做一个。下面是一个简单的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;
于 2013-05-30T11:52:46.100 回答
1
var dataString = '&header' + header;

if (document.getElementById('id_of_logo_checkbox').checked)
{
    dataString += '&logo' + logo;
}

dataString += '&body' + body;
于 2013-05-30T11:56:19.350 回答
0
if(document.getElementById('checkid').checked == true)
dataString += logo;
于 2013-05-30T11:42:30.867 回答
0
var dataString = "...";
if(document.getElementById('checkid').checked = true;
{
dataString += logo;
}
//...code
于 2013-05-30T11:40:22.860 回答