1

私のdataStringには長いリストがあります。ここに小さな部分があります:

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

ロゴのチェックボックスがオンになっている場合にのみ、dataString にロゴを含めたいと思います。ロゴのチェックボックスが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;

あなたの他の質問(「isChecked関数はJavascriptに存在しますか」)への答えとして:

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 に答える