您好,我有一个使用单选按钮选择选项的网站。如果你单击按钮本身它不起作用(被选中),但如果你点击按钮下面的文字,任何帮助将不胜感激。
顺便说一下,我如何才能将修复程序仅应用于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>
答案 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>