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

Html 单选按钮在IE 9中不起作用,html,internet-explorer,Html,Internet Explorer,嗨,我有一个网站,使用单选按钮来选择选项。如果您单击按钮本身,它将不起作用(被选中),但如果您单击按钮下方的文本,则会起作用,如有任何帮助,将不胜感激 顺便说一句,我如何只对IE9应用一个补丁,因为在IE6-8中所有的工作都很好 这是IE9的已知问题吗 非常感谢 好的,这是修复IE9问题的代码,但现在不适用于IE8-6 <script type="text/javascript"> <!-- $(function() { inClickF

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

顺便说一句,我如何只对IE9应用一个补丁,因为在IE6-8中所有的工作都很好

这是IE9的已知问题吗

非常感谢

好的,这是修复IE9问题的代码,但现在不适用于IE8-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>

尺寸(高x宽x深)
1981mm x 686mm x 35mm
78英寸x 27英寸x 1.38英寸
(109.00英镑) 1981mm x 762mm x 35mm
78英寸x 30英寸x 1.38英寸
(109.00英镑)
允许用户同时单击文本和按钮的正确方法是使用原始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>

1981mm x 686mm x 35mm
78英寸x 27英寸x 1.38英寸
(109.00英镑)
允许用户同时单击文本和按钮的正确方法是使用原始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>

1981mm x 686mm x 35mm
78英寸x 27英寸x 1.38英寸
(109.00英镑)
以下是一些代码,它解决了IE9中的问题,但现在在IE 8-6中不起作用。您知道,您可以使用
标签
s为单选按钮分配可单击文本,而不必编写一行Javascript?这会让你的生活更轻松,因为你不必担心事件冒泡之类的事情,你只需点击标签即可。你也可以将单选按钮放在标签内,因此,您可以将其显示为一个块元素,以替换您现在得到的
attinner
div。下面是一些代码,这些代码已经解决了IE9中的问题,但现在在IE 8-6中不起作用。您知道您可以使用
label
s将可单击文本分配给radiobutton,而无需编写一行Javascript?这会让你的生活更轻松,因为你不必担心事件冒泡之类的事情,你只需点击标签即可。你也可以将单选按钮放在标签内,因此,您可以将其显示为一个块元素,以替换您现在得到的
attinner
div。另外,不要忘记将单选按钮预选为单个按钮或组的一部分。感谢您的想法,我们将看到删除javascript并使用html和标签是否有效,非常感谢您不要忘记将单选按钮预选为单个或多个一个小组的成员之一。谢谢你们的想法,我会看看删除javascript和使用html和标签是否有效。非常感谢