我希望能够点击一个div并让它选择一个单选按钮。我有它在webkit中工作...但不是FF。通过点击div选择收音机
完整的例子可以在这里找到:
http://acgidev.acgisoftware.com/clicktest2.html#
<div class="aaEcmTemplateThumbWrapper">
<div class="aaEcmTemplateTitle"><input type="radio" tabindex="4" class="aaEcmMsgRadio" value="EC_ORDER_CONFIRMATION" name="p_template_message_id">EC Order Confirmation
</div>
<div class="aaEcmTemplateThumb"><a class="aaIframePopup" href="#"><span class="aaMagGlass"></span></a>
</div>
</div>
<div class="aaEcmTemplateThumbWrapper">
<div class="aaEcmTemplateTitle"><input type="radio" tabindex="4" class="aaEcmMsgRadio" value="EC_ORDER_CONFIRMATION" name="p_template_message_id">EC Order Confirmation
</div>
<div class="aaEcmTemplateThumb"><a class="aaIframePopup" href="#"><span class="aaMagGlass"></span></a>
</div>
</div>
<div class="aaEcmTemplateThumbWrapper">
<div class="aaEcmTemplateTitle"><input type="radio" tabindex="4" class="aaEcmMsgRadio" value="EC_ORDER_CONFIRMATION" name="p_template_message_id">EC Order Confirmation
</div>
<div class="aaEcmTemplateThumb"><a class="aaIframePopup" href="#"><span class="aaMagGlass"></span></a>
</div>
</div>
,我使用了jQuery是:
<script type="text/javascript">
//check on div click
$("div.aaEcmTemplateThumbWrapper").live("click",function(event) {
var target = $(event.target);
if (target.is('input:radio')) return;
var checkbox = $(this).find("input[type='radio']");
if(checkbox.attr("checked") == ""){
checkbox.attr("checked","true");
} else {
checkbox.attr("checked","");
}
$("div.aaEcmTemplateThumbWrapper").click(function() {
$('input:radio').attr('checked',false);
});
});
</script>
你为什么不使用'
标签是要走的路,你的代码工作在FF中找到(http://jsfiddle.net/kLL5E/) – j08691 2012-02-14 03:26:17
另外,'attr()'为此目的已被替换为'prop()',所以你可以做'checkbox.prop( '检查', '真')'。此外,这行'checkbox.attr(“checked”)==“”'没有多大意义。 – elclanrs 2012-02-14 03:37:37