チェックボックスの "checked"属性を変更することは可能でしょうか?そこで、HTML上でpreselectの値を変更したいのです。(後でJavaScriptのinnerHTMLで取得できるように)。
確かに、JavascriptでinnerHTMLを使用する場合、チェックボックスのビットをすべて再読み込みして、チェックするかしないかを決めることができます。 しかし、JSを使うのであれば、Javascriptの中でchecked属性を変更するのが一番簡単な方法です。
document.getElementById("myCheckboxId").checked = true;
編集
OK、では今後innerHTMLで再度取得できるようにする必要がありますね。 最初に書いたように、innerHTMLでチェックボックスも変更すればいいんですね。 ちょっとハック気味ですが、すでにやっているのであれば問題ないでしょう。
以下は、JSによるチェック・アンチェック、innerHTMLによるチェック・アンチェック、テスト用のinnerHTMLを取得するためのリンクがあるテスト用htmlページです。 innerHTMLの入れ替えを行うと、実は後でinnerHTMLで返される内容が変わってしまうのです‼。 ということでしょうか? 追記:うーん、今まで気づかなかったのですが、どうやらfirefoxが私のcheckedをchecked="checked"に変えているようです、面白いですね。 ということは、view innerHTMLのリンクは、私にchecked="checked"を示し、チェックを外すと何も示さないということです。 Firebugでも、checked=""から何も表示されなくなるなど、若干異なりますが、変化が見られます。
[jsfiddleはこちら][1]です!
<span id="testdiv1"><input type="checkbox" name="heyhey" id="heyhey" CHECKED></span>
<p>
<a href="#" onClick="document.getElementById('heyhey').checked = false;">uncheck via JS</a><br>
<a href="#" onClick="document.getElementById('heyhey').checked = true;">check via JS</a><br>
<a href="#" onClick="document.getElementById('testdiv1').innerHTML = '<input type=\'checkbox\' name=\'heyhey\' id=\'heyhey\' >';">uncheck via innerHTML swap</a><br>
<a href="#" onClick="document.getElementById('testdiv1').innerHTML = '<input type=\'checkbox\' name=\'heyhey\' id=\'heyhey\' checked>';">check via innerHTML swap</a><br>
<a href="#" onClick="alert('innerHTML!: '+'\n\n'+getElementById('testdiv1').innerHTML)">view innerHTML</a>
</p>