こんにちは、ラジオボタンを使用してオプションを選択するサイトがあります。ボタン自体をクリックしても機能しません(選択されています)が、ボタンの下のテキストをクリックするとヘルプが表示されます。ラジオボタンがIE 9で動作しない
私はどのようにIE9にのみ修正プログラムを適用すればよいのですか?IE 6-8で問題なく動作します。
これはIE9の既知の問題ですか?ここ
OK非常
おかげで、ユーザーが両方のクリックできるようにするために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>
郵便いくつかのコード:このようなあなたのボタンをマークアップ
してみてください。 – JackWilson
これはIE9の問題を修正しましたが、IE 8-6ではうまくいきません。 – user1041401
'label'sを使うと、ラジオボタンにクリック可能なテキストを割り当てることができます.Javascriptの1行を書く必要はありません?イベントのバブリングやそのすべてのことについて心配する必要がないので、あなたの人生を楽にしてくれるでしょう。あなたはラベルのクリックを処理できます。あなたはラベルの中にラジオボタンを置くこともできます。あなたが今取得した 'attinner' divを置き換えるブロック要素として表示します。 – GolezTrol