单选按钮在IE 9中不起作用

时间:2011-11-11 09:35:16

标签: html internet-explorer

您好,我有一个使用单选按钮选择选项的网站。如果你单击按钮本身它不起作用(被选中),但如果你点击按钮下面的文字,任何帮助将不胜感激。

顺便说一下,我如何才能将修复程序仅应用于IE9,因为在IE 6-8中一切正常。

这是IE9的已知问题吗?

非常感谢

这里是修复IE9问题的代码,但现在不能用于IE 8-6

<script type="text/javascript">
    <!--
    $(function()
    {
        inClickFunc=false;

        var changeFunc = function()
        {
            if(!inClickFunc)
            {
                $(this).parent().click();
            }

            return false;
        };

        $("input[type=radio]").bind('change', changeFunc);
        $("input[type=radio]").bind('propertychange', changeFunc);

        $(".attinner").click(function()
        {
            inClickFunc=true;
            var input=$("input", this);

            $(".sub-values", $(this).parents(".middlecontent")).remove();

            if(input.attr("checked"))
            {
                input.attr("checked", false);
            }
            else
            {
                input.attr("checked", true);
                var div=this;

                $.get("/js/product_options.php", {product_id: 1130, value_id: $(input).attr("value")}, function(result)
                {
                    if(result)
                    {
                        $(div).parent().nextAll(".clear").eq(0).after(result);
                    }
                });
            }

            inClickFunc=false;
        });

        $('.sub-value').livequery('click', function()
        {
            $("input", this).attr("checked", true);
        });

        $("[name=product]").submit(function()
        {
            var submit=false;

            $.ajax(
            {
                type: 'POST',
                async: false,
                url: '/js/validate_product.php',
                data: $(this).serialize(),
                success: function(msg)
                {
                    if(msg.length==0)
                    {
                        submit=true;
                    }
                    else
                    {
                        submit=false;
                        alert(msg);
                    }
                }
            });

            return submit;
        });

        /*$(".middlecontent").each(function() {
            $options = $(this).find('.attinner');

            if($options.length == 1)
            {
                $options.click()
            }
        });*/
    });
    -->
</script><h2>Size (Height x Width x Depth)</h2>
<div class="middlecontent">
                <div class="attribute-wide">
        <div class="attinner">
                                                    <input type="radio" title="Values" name="values[23]" class="required" value="5325"><div class="attvalue">
            1981mm x 686mm x 35mm<br>78" x 27" x 1.38"<br><span class="size-price">(£109.00)</span>         </div>
        </div>
    </div>
                        <div class="attribute-wide">
        <div class="attinner">
                                                    <input type="radio" title="Values" name="values[23]" class="required" value="5324"><div class="attvalue">
            1981mm x 762mm x 35mm<br>78" x 30" x 1.38"<br><span class="size-price">(£109.00)</span>         </div>
        </div>

1 个答案:

答案 0 :(得分:3)

允许用户单击文本和按钮的正确方法是使用带有原始HTML的标签标记,不需要使用JavaScript或JQuery。

尝试按下这样标记按钮:

<input id="radio1" type="radio" name="account" value="radiobutton" />
<input type="radio" title="Values" name="values[23]" class="required" value="5324" id="unique_identifier">
<label for="unique_identifier">1981mm x 686mm x 35mm<br />78" x 27" x 1.38"<br /><span class="size-price">(£109.00)</span></label>
相关问题