我希望能夠點擊一個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