Событие для $ ('input [type = radio]: checked')

Это мой скрипт 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>
7
задан Coisox 13 July 2011 в 04:42
поделиться