Я хочу, чтобы иметь возможность щелкнуть мышью на 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
Кроме того, 'attr()' для этой цели был заменен на 'prop()', так что вы можете сделать 'checkbox.prop ('проверено', 'истина')'. Кроме того, эта строка 'checkbox.attr (" checked ") ==" "' имеет мало смысла. – elclanrs