3

このチェックボックスがチェックされた後、Javascriptで関数を実行してチェックが外された後にメッセージを警告するようにしようとしています。「チェック済み」メッセージを表示することはできますが、「未チェック」アラートを表示することはできません。

<input type="checkbox" id="chbx" onchange="foo()">
<script type="text/javascript">
var checkbox = document.getElementById("chbx");

 function foo(){
   if(checkbox.checked=true){
       alert("Checked!");
         }
   else {
        alert("UnChecked!");
         }
    };
</script>
4

3 に答える 3

6

ifステートメントにdouble-equalsではなくsingle-equalsがあります。

if (checkbox.checked=true) {

する必要があります

if (checkbox.checked == true) {

あるいは単に

if (checkbox.checked) {
于 2012-10-27T17:54:11.163 に答える
4

を使用して値を比較していません=。少なくとも==、より良い必要があります===

if(checkbox.checked === true) {}

または、簡体字

if(checkbox.checked) {}
于 2012-10-27T17:53:37.807 に答える
2

=単一の this actual セットcheckbox.checkedを true に設定するというよくある間違いを犯しました。比較したい場合は必ず double を使用して==ください。

また、チェックボックスには 2 つのオプションしかありません。オンでない場合はオフです。

これは私がやったことです:

<input type="checkbox" id="chbx" onchange="checkbox_changed()">
<script type="text/javascript">
    var checkbox = document.getElementById("chbx");

    function checkbox_changed() {
        if (checkbox.checked == true) {
            alert("Checked!");
        } else {
            alert("UnChecked!");
        }
    }
</script>
于 2012-10-27T17:55:49.167 に答える