0

prototype選択したラジオボタンの他​​のセットに応じて、ラジオボタンのセットを有効または無効にしようとしています。

例の場合。「Wall Skins」というラベルの付いたラジオ ボタンの 1 番目のセットには、4 つのオプションがあります - なし - 赤の左 - 赤の右 - 赤の両方

ラジオ ボタンの 2 番目のセットには、次のオプションが含まれます。 - なし - 左 - 右 - 両方

ユーザーが最初のセットから選択した場合None、2 番目のセットでは、ラジオ ボタン以外Noneはすべて無効にする必要があります。

ユーザーが最初のセットから選択した場合Left、2 番目のセットでは、None&以外のすべてのラジオ ボタンをLeft無効にする必要があります。

ユーザーが最初のセットから選択した場合Right、2 番目のセットでは、None&以外のすべてのラジオ ボタンをRight無効にする必要があります。

ユーザーが最初のセットから選択した場合Both、2 番目のセットでは、None&以外のすべてのラジオ ボタンをBoth無効にする必要があります。

これを実現するために次のスクリプトを作成しましたが、これは完全には機能していないようです。2 番目のセットから 1 つのラジオ ボタンを無効にするだけです。

$('options-skin-dd').select('input[type="radio"]').each(function(element) {
    element.observe('click', disableSkinInstall);
});

これoptions-skins-ddは、オプションの最初のセットを保持するコンテナーです。

function disableSkinInstall(event) {
        var element = Event.element(event);
        var rel = element.readAttribute('rel');
        $('options-skin-installation-labor-dd').select('input[type="radio"]').each(function(element) {
            element.enable();
        });

        if(rel.indexOf("none")!=-1) {
            $('options-skin-installation-dd').select('input[type="radio"]').each(function(element) {
                if(element.readAttribute('title')=="Right" || element.readAttribute('title')=="Both" || element.readAttribute('title')=="Left") {
                    element.disable();
                }
            });
        }
        if(rel.indexOf("-left")!=-1) {
            $('options-skin-installation-dd').select('input[type="radio"]').each(function(element) {
                if(element.readAttribute('title')=="Right" || element.readAttribute('title')=="Both") {
                    element.disable();
                }
            });
        } 
        if(rel.indexOf("-right")!=-1) {
            $('options-skin-installation-dd').select('input[type="radio"]').each(function(element) {
                if(element.readAttribute('title')=="Left" || element.readAttribute('title')=="Both") {
                    element.disable();
                }
            });
        } 
        if(rel.indexOf("-both")!=-1) {
            $('options-skin-installation-dd').select('input[type="radio"]').each(function(element) {

                if(element.readAttribute('title')=="Left" || element.readAttribute('title')=="Right") {
                    element.disable();
                }
            });
        }
    }

も使用してみ.select()ましたが、それもうまくいかないようです。

ここで何がうまくいかないのか教えてください。

4

0 に答える 0