0

ユーザーがチェックボックスをクリックしたときに、生のJavaScriptとdisabledプロパティを使用して、ラジオボタンのグループを無効にしています。

私の機能は些細なことです:

function toggleEnabled(elementId) {
  e = document.getElementById(elementId)
  e.disabled = !e.disabled;
}

そして、onClick = "toggleEnabled('radio_div')"のようなonClickイベントで呼び出されます。

うまく機能しますが、ユーザーがクリックして戻ると、ブラウザはチェックボックスの状態を記憶しているように見えますが、div内のコンポーネントの状態を元の状態にリセットします。

これはIE7にあり、現在JSライブラリを使用したくないので、その効果についての提案はしないでください。

私は何か間違ったことをしていますか?意図した動作を取得するための解決策はありますか(チェックボックスと戻るのdivの両方の状態を覚えておいてください)?

4

1 に答える 1

1

onloadメソッド内の各ラジオボックスの値をチェックする必要があります。

var selects = document.getElementByTagName("select");
for ( var i = 0 ; i < selects.length ; i ++ )
{
    //call your code if an option is checked
    if ( selects.options[selects.selectedIndex] )
    { 
        var selectedOption = selects.options[selects.selectedIndex];
        //now you got your option and can enable the div.
        toggleEnabled('radio_div');// <-- change this depending on selectedOption
    }
}
于 2009-10-14T14:29:55.863 に答える