Это мой скрипт jQuery:
$("input[type=radio]:checked").live("click", function() {
$(this).attr("checked",false);
});
Я хочу, чтобы все мои переключатели можно было проверять и снимать.Предполагается, что код срабатывает ТОЛЬКО при проверке радио при нажатии.Но каким-то образом любой щелчок радио (независимо от того, отмечен он или нет) вызовет это событие.Это как если бы браузер сначала проверил радио, а затем запустил мой скрипт.
Если я alert($("input[type=radio]:checked").size())
, он дал мне правильный счет.
Я тестирую код в FF4, ноЯ надеюсь, что это решение может быть полезным и для IE.
Хорошо, поскольку мой вопрос выглядит запутанным, это рабочий код для того, что я хочу, НО требует дополнительный пользовательский атрибут, которого, я надеюсь, можно избежать.
<input type="radio" name="group1" value="1" isChecked="false"/>
<input type="radio" name="group1" value="2" isChecked="false"/>
<input type="radio" name="group1" value="3" isChecked="false"/>
<script>
$(document).ready(function(){
$("radio").click(function(){
if($(this).attr("isChecked")=="false"){
$(this).attr("isChecked","true");
$(this).attr("checked",true);
}
else{
$(this).attr("isChecked","false");
$(this).attr("checked",false);
}
});
});
</script>