javascript - attribute - title css
Cómo desmarcar un botón de radio (6)
Acabo de descubrir una gran solución a este problema.
Suponiendo que tiene dos radios que necesitan poder marcarse / deseleccionarse, implemente este código y cambie lo que sea necesario:
var gift_click = 0;
function HandleGiftClick() {
if (document.getElementById(''LeftPanelContent_giftDeed2'').checked == true) {
gift_click++;
memorial_click = 0;
}
if (gift_click % 2 == 0) {document.getElementById(''LeftPanelContent_giftDeed2'').checked = false; }
}
var memorial_click = 0;
function HandleMemorialClick() {
if (document.getElementById(''LeftPanelContent_memorialDeed2'').checked == true) {
memorial_click++;
gift_click = 0;
}
if (memorial_click % 2 == 0) { document.getElementById(''LeftPanelContent_memorialDeed2'').checked = false; }
}
:) de nada
Tengo dos formularios, uno con un botón de opción que los usuarios deben seleccionar para editar.
[form name="A"]
<li>[input type="radio" name="BookItem" value="1" /]</li>
<li>[input type="radio" name="BookItem" value="2" /]</li>
<li>[input type="radio" name="BookItem" value="3" /]</li>
[form]<p>
Después de seleccionar "BookItem" del formulario (A), llamo a $("#EditFormWrapper").load("callEditData.cfm? ID="+ID);
Función para cargar la segunda forma (B).
<div id="EditFormWrapper"><div></p>
<!---// begin dynamic form generated by external file callEditData.cfm //--->
[form id="editForm" name="B"]
<ul class="hourswrapper">
<li><input type="checkbox" id="TOR2Hours" class="TOR2Hours" name="TOR2Hours" value="AM2Hrs1" /> 2 Hours AM</li>
<li><input type="checkbox" id="TOR2Hours" class="TOR2Hours" name="TOR2Hours" value="PM2Hrs1" /> 2 Hours PM</li>
<li><input type="checkbox" id="TOR2Hours" class="TOR2Hours" name="TOR2Hours" value="AM2Hrs2" /> 2 Hours AM</li>
<li><input type="checkbox" id="TOR2Hours" class="TOR2Hours" name="TOR2Hours" value="PM2Hrs2" /> 2 Hours PM</li>
</ul>
[input type="image" src="images/submit-btn.gif" id="addBTN" name="addBTN" class="buttons" alt="SubmitRrequest" /]
[input type="image" src="images/cancel-btn.gif" id="editBTNcancel" name="editBTNcancel" class="buttons" alt="Cancel Request" /]
[/form]
<!---// end dynamic form from external file //--->
Quiero desmarcar el botón de opción en el formulario (A) cuando el usuario haga clic en el botón de cancelación (editBTNcancel) en el formulario (B).
Aquí está mi guión:
$("#editBTNcancel").live("click", function(event){
event.preventDefault();
$("#EditFormWrapper").slideUp("fast").empty();
//$(''.TOR2Hours'').removeAttr(''checked'');
$(''.TOR2Hours'').attr(''checked'', false);
});
Espero decir claramente mi problema, cualquier sugerencia sería muy apreciada!
No estoy seguro de lo que quieres, pero puedes intentar usar una entrada de reinicio.
<input type=''reset'' />
Puede acceder a la forma como así ...
var exampleForm = document.forms[''form_name''];
luego recorre el formulario
for( var i=0; i<exampleForm.length; i++ ){
alert( exampleForm[i].type );
}
Puedes hacer una prueba para comprobar como ...
if( exampleForm[i].checked )
para deseleccionar el botón de opción marcado intente ...
exampleForm[i].checked=false;
El código final se vería así ...
var exampleForm = document.forms[''form_name''];
for( var i=0; i<exampleForm.length; i++ ){
if( exampleForm[i].type ) == ''radio'' && exampleForm[i].checked == true ){
exampleForm[i].checked = false;
}
}
Su selector es simplemente incorrecto. Si desea desmarcar el botón de $(''input[name="BookItem"]'')
de la primera forma, debe usar $(''input[name="BookItem"]'')
y no $(''.TOR2Hours'')
:
$("#editBTNcancel").on("click", function(event){ $("#EditFormWrapper").slideUp("fast").empty(); $(''input[name="BookItem"]'').attr(''checked'', false); });
En cuanto a qué método usar para desmarcar los botones de opción, los siguientes 3 métodos deberían funcionar:
-
$(''input[name="BookItem"]'').attr(''checked'', false);
-
$(''input[name="BookItem"]'').removeAttr(''checked'');
-
$(''input[name="BookItem"]'').prop(''checked'', false);
Sin embargo, revisa los documentos de jQuery en jQuery prop () para ver la diferencia entre attr()
y prop()
.
Utilizo esta forma para resolver su problema en ASP.net, verifique esto ...
radioButton.InputAttributes["show"] = "false";
string clickJs = " if(this.show ==''true''){this.show =''false''; this.checked = false;}else{this.show=''true''; this.checked = true;};";
radioButton.Attributes["onClick"] = clickJs;
En asp.net, puede usar esta forma para agregar un atributo. Y también puede agregar un atributo manualmente al radioButton, y hacer la función (clickJs) para cambiar los atributos seleccionados.
Ya que esta es la tarea DOM más sencilla que existe y funciona en todos los navegadores de secuencias de comandos, sugiero no usar los métodos jQuery para ello:
$(".TOR2Hours")[0].checked = false;
La otra cosa que me ocurre es si tu selector es correcto. ¿Quería seleccionar un conjunto de elementos por clase o debería ser un selector de ID?