Это мой скрипт 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>