change attribute javascript jquery radio-button dynamic-forms

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:

  1. $(''input[name="BookItem"]'').attr(''checked'', false);
  2. $(''input[name="BookItem"]'').removeAttr(''checked'');
  3. $(''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?