チェックボックスの「checked」属性を変更することは可能ですか?だから私はHTMLの事前選択値を変更したい。 (私はJavaScriptのinnerHTMLで後でそれを得ることができます)。
確かに、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 = "" から何も変更されていない。
<input type="checkbox" name="heyhey" id="heyhey" CHECKED>
uncheck via JS
check via JS
uncheck via innerHTML swap
check via innerHTML swap
view innerHTML
私はそれらすべてを適切に逃したが、私のために働くかどうかわからない。それはインラインではありません。
同等のプロパティ( 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