启用/禁用输入

时间:2012-10-08 18:07:58

标签: javascript prototypejs

我正在尝试使用prototype启用和禁用一组单选按钮,具体取决于所选的另一组单选按钮。

对于Ex。 第一组标有“Wall Skins”的单选按钮,有4个选项 - 没有 - 红色左 - 红右 - Red Both

第二组单选按钮,包含以下选项: - 没有 - 剩下 - 对 - 两个

如果用户从第一组中选择None,则在第二组中,必须禁用除None以外的所有单选按钮。

如果用户从第一集中选择Left,则在第二集中,除了None&之外的所有单选按钮。必须禁用Left

如果用户从第一集中选择Right,则在第二集中,除了None&之外的所有单选按钮。必须禁用Right

如果用户从第一集中选择Both,则在第二集中,除了None&之外的所有单选按钮。必须禁用Both

我已经编写了以下脚本来实现这一点,但这似乎并不完美,它只会禁用第二组中的单个单选按钮

$('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(),但这似乎也不起作用。

请告诉我,这里出了什么问题。

0 个答案:

没有答案