HTMLチェックボックスのチェック属性を変更

チェックボックスの「checked」属性を変更することは可能ですか?だから私はHTMLの事前選択値を変更したい。 (私はJavaScriptのinnerHTMLで後でそれを得ることができます)。

2

3 答え

確かに、JavascriptでinnerHTMLを使用する場合は、チェックボックスのビット全体をリロードして、チェックしてもしなくてもかまいません。ただし、JSを使用する場合は、Javascript内のchecked属性を変更するほうが簡単です。

document.getElementById("myCheckboxId").checked = true;

EDIT

これで、今後innerHTMLを使ってもう一度それを得ることができる必要があります。私が最初の文章で言ったように、あなたはinnerHTMLを使ってチェックボックスを変更することもできます。少しハッキリしているかもしれませんが、あなたがすでにそれをやっているなら、うまくいくかもしれません。

ここでは、JSを介してチェック/チェックを外し、チェックボックス全体をinnerHTMLで交換してチェック/チェックを外し、テストのためにinnerHTMLを得るためのリンクを持つテストhtmlページです。 innerHTMLのスワップを実行すると、後でinnerHTMLによって返される内容が実際に変更されます。これはあなたが意味することですか?注:私は今まで気づいていませんでしたが、firefoxがチェックチェック= "チェック済み" に変更しているようです。したがって、ビューのinnerHTMLリンクは私に checked = "checked" と表示され、チェックを外すと何も表示されません。 Firebugでは、これも変更されているようだが、 checked = "" から何も変更されていない。

Here is jsfiddle!

<input type="checkbox" name="heyhey" id="heyhey" CHECKED>

uncheck via JS
check via JS
uncheck via innerHTML swap
check via innerHTML swap
view innerHTML

私はそれらすべてを適切に逃したが、私のために働くかどうかわからない。それはインラインではありません。

5
追加された
いいえ、私の言うことは...実際のHTMLを変更する必要があるということです。 要素のinnerHTMLを変更すると、HTMLでも変更されます。これはチェックボックスの場合ではありません。 HTMLインスペクタ(FireBugまたはChrome Element Inspector)を開くと、「checked」属性が「yes」または「no」のままになり、変更することはできません。
追加された 著者 Lahey,
さて、上記の私の編集とコードを見てください。私はinnerHTMLのスワッピングはこれを行うと思うし、あなたがすでにそれを後で属性を取得するために使用している場合は悪い考えではないかもしれません。
追加された 著者 mikato,

同等のプロパティ( checked )ではなく、 setAttribute()を正当に使用しているようです。 checkbox という変数にチェックボックスが格納されていると仮定すると、チェックされた属性をデフォルトでチェックするように設定するには、

checkbox.setAttribute("checked", "checked");

...属性を削除し、デフォルトでチェックボックスをオフにするには、次のようにします。

checkbox.removeAttribute("checked");

これは、属性関連のメソッドの実装が壊れている古いIEでは正しく動作しないことに注意してください。

I've written about this in more detail in an answer to previous question: Add attribute 'checked' on click jquery

3
追加された

はい、可能です

checkboxObject.checked=true|false

1
追加された
JavaScript - 日本のコミュニティ
JavaScript - 日本のコミュニティ
2 参加者の

日本人コミュニティのjavascript