2012-02-13 19 views
0

私は自分のリストの1つで上/下に移動する機能に取り組んでいます。移動する必要があるものにはチェックボックスが含まれています。しかし、私はPHPでchecked属性を設定し、要素のinnerHTMLを切り替えると、チェックされた状態は常にchecked属性が設定されている状態に戻ります。javascriptでchecked = "checked"のインライン属性を変更するにはどうすればよいですか?

私は

if(el.checked == true) 
    el.setAttribute("checked", "checked"); 
else 
    el.setAttribute("checked", ""); 

でそれをクリックすると、属性を変更するのonchange機能を作ってみましたが、それは動作しません(と私もそれは正直に言うと、動作するように期待される理由を私は知りません)

どのように私はそれを行うことができますか? domツリーで要素をすべて切り替えることは、PHPでchecked属性を設定しないと問題になります。

編集:aparently私は尋ねたことをする方法がありませんが、私のような問題は、怠け者の奴隷ではなく、DOMの周りを動かすことによって、私は賛成です。

+0

'( 'checked'、false)'と '( 'checked'、true)'を試しましたか? – OptimusCrime

答えて

1

checked属性は(関係なく、それが持っているどのような値)HTML内に存在しない場合は、IDL(DOM)属性checkedがデフォルト値falseに反対として、trueに初期化されます。あなたのコードは、そうでないと予想しているようです。私はあなたが何をしようとしているのか理解していません。なぜなら、このような操作でチェックボックス要素を動かすことができるはずだからです。要素ノードを移動すると、属性を使用して再生する必要はありません。 checkedプロパティを設定

+0

要素ノードを移動してinnerHTMLスイッチに移動するのを避けようとしていますが、選択肢がないようです。どちらか、またはウィンドウをロードした後、javascriptのデフォルトのチェック値を設定します。 – Bogdan

+0

要素ノードを操作するだけではなく、 'innerHTML'を使用しても、' checked'属性を含むHTMLコードだけでは構いません。そうでなければ、 'input'要素ノード属性' checked'をJavaScriptで 'true'に設定することができます。 –

0

:あなたはw3School.com

if(true) document.getElementById("check1").checked = true; 
else document.getElementById("check1").checked = false; 

チェックこの方法を試すことができます

checkboxObject.checked=true|false 

が、これはあなたの問題を解決します願っています。

関連する問題