javascript - radiobutton - ¿Cómo comprobar un botón de radio con jQuery?
radiobutton checked javascript (27)
Intento comprobar un botón de radio con jQuery. Aquí está mi código:
<form>
<div id=''type''>
<input type=''radio'' id=''radio_1'' name=''type'' value=''1'' />
<input type=''radio'' id=''radio_2'' name=''type'' value=''2'' />
<input type=''radio'' id=''radio_3'' name=''type'' value=''3'' />
</div>
</form>
Y el JavaScript:
jQuery("#radio_1").attr(''checked'', true);
No funciona
jQuery("input[value=''1'']").attr(''checked'', true);
No funciona
jQuery(''input:radio[name="type"]'').filter(''[value="1"]'').attr(''checked'', true);
No funciona
¿Tienes otra idea? ¿Qué me estoy perdiendo?
Yo uso este código:
Lo siento por el ingles
var $j = jQuery.noConflict();
$j(function() {
// add handler
$j(''#radio-1, #radio-2'').click(function(){
// find all checked and cancel checked
$j(''input:radio:checked'').prop(''checked'', false);
// this radio add cheked
$j(this).prop(''checked'', true);
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<fieldset class="section">
<legend>Radio buttons</legend>
<label>
<input type="radio" id="radio-1" checked>
Option one is this and that—be sure to include why it''s great
</label>
<br>
<label>
<input type="radio" id="radio-2">
Option two can be something else
</label>
</fieldset>
Acabo de tener un problema similar, una solución simple es usar:
.click()
Cualquier otra solución funcionará si actualiza la radio después de llamar a la función.
Algunas veces las soluciones anteriores no funcionan, entonces puedes probar a continuación:
jQuery.uniform.update(jQuery("#yourElementID").attr(''checked'',true));
jQuery.uniform.update(jQuery("#yourElementID").attr(''checked'',false));
Otra forma de intentarlo es:
jQuery("input:radio[name=yourElementName]:nth(0)").attr(''checked'',true);
Deberíamos querer decir que es un botón de radio
. Por lo tanto, intente con el siguiente código.
$("input[type=''radio''][name=''userRadionButtonName'']").prop(''checked'', true);
En caso de que alguien intente lograr esto mientras usa la interfaz de usuario de jQuery, también deberá actualizar el objeto de la casilla de verificación de la interfaz de usuario para reflejar el valor actualizado:
$("#option2").prop("checked", true); // Check id option2
$("input[name=''radio_options'']").button("refresh"); // Refresh button set
La forma $.prop
es mejor:
$(document).ready(function () {
$("#radio_1").prop(''checked'', true);
});
Y puedes probarlo como el siguiente:
$(document).ready(function () {
$("#radio_1, #radio_2", "#radio_3").change(function () {
if ($("#radio_1").is(":checked")) {
$(''#div1'').show();
}
else if ($("#radio_2").is(":checked")) {
$(''#div2'').show();
}
else
$(''#div3'').show();
});
});
Obtener valor:
$("[name=''type''][checked]").attr("value");
Valor ajustado:
$(this).attr({"checked":true}).prop({"checked":true});
Haga clic en el botón de radio agregar attr marcado:
$("[name=''type'']").click(function(){
$("[name=''type'']").removeAttr("checked");
$(this).attr({"checked":true}).prop({"checked":true});
});
Opción corta y fácil de leer:
$("#radio_1").is(":checked")
Devuelve verdadero o falso, por lo que puede usarlo en la declaración "if".
Para versiones de jQuery iguales o superiores (> =) 1.6, use:
$("#radio_1").prop("checked", true);
Para versiones anteriores a (<) 1.6, use:
$("#radio_1").attr(''checked'', ''checked'');
Consejo: También puede querer llamar a hacer click()
o change()
en el botón de radio después. Ver comentarios para más información.
Prueba esto
$(document).ready(function(){
$("input[name=''type'']:radio").change(function(){
if($(this).val() == ''1'')
{
// do something
}
else if($(this).val() == ''2'')
{
// do something
}
else if($(this).val() == ''3'')
{
// do something
}
});
});
Prueba esto
var isChecked = $("#radio_1")[0].checked;
Prueba esto con el ejemplo
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form id="myForm">
<input type="radio" name="radio" value="first"/> 1 <br/>
<input type="radio" name="radio" value="second"/> 2 <br/>
</form>
<script>
$(document).ready(function () {
$(''#myForm'').on(''click'', function () {
var value = $("[name=radio]:checked").val();
alert(value);
})
});
</script>
Prueba esto.
En este ejemplo, lo estoy apuntando con su nombre y valor de entrada
$("input[name=background][value=''some value'']").prop("checked",true);
Es bueno saberlo: en el caso de un valor de varias palabras, también funcionará debido a los apóstrofes.
Prueba esto.
Para marcar el botón de Radio usando Valor usa esto.
$(''input[name=type][value=2]'').attr(''checked'', true);
O
$(''input[name=type][value=2]'').attr(''checked'', ''checked'');
O
$(''input[name=type][value=2]'').prop(''checked'', ''checked'');
Para verificar el botón de Radio usando ID usa esto.
$(''#radio_1'').attr(''checked'',''checked'');
O
$(''#radio_1'').prop(''checked'',''checked'');
Prueba esto:
$(document).ready(function(){
$("#Id").prop("checked", true).checkboxradio(''refresh'');
});
Sí, me funcionó como una manera:
$("#radio_1").attr(''checked'', ''checked'');
Si el name
propiedad no funciona, no olvide que el id
todavía existe. Esta respuesta es para las personas que quieren orientar la id
aquí cómo lo haces.
$(''input[id=element_id][value=element_value]'').prop("checked",true);
Porque el name
propiedad no funciona para mí. Asegúrese de no rodear la id
y el name
con comillas dobles / simples.
¡Aclamaciones!
Tengo algunos ejemplos relacionados para mejorar, ¿qué tal si quiero agregar una nueva condición? Digamos, si quiero que el esquema de color se oculte después de hacer clic en el valor de Estado del proyecto, excepto Pavers y Paving Slabs.
El ejemplo está aquí:
$(function () {
$(''#CostAnalysis input[type=radio]'').click(function () {
var value = $(this).val();
if (value == "Supply & Lay") {
$(''#ul-suplay'').empty();
$(''#ul-suplay'').append(''<fieldset data-role="controlgroup"> /
Tu tienes que hacer
jQuery("#radio_1").attr(''checked'', ''checked'');
Ese es el atributo HTML
Una función más prop () que se agrega en jQuery 1.6, que sirve para el mismo propósito.
$("#radio_1").prop("checked", true);
attr acepta dos cuerdas.
La forma correcta es:
jQuery("#radio_1").attr(''checked'', ''true'');
prueba esto
$("input:checked", "#radioButton").val()
si está marcado devuelve True
si no está marcado devuelve False
jQuery v1.10.1
attr
acepta dos cuerdas.
La forma correcta es:
jQuery("#radio_1").attr(''checked'', ''true'');
$("#radio_1").attr(''checked'', true);
//or
$("#radio_1").attr(''checked'', ''checked'');
$("input[name=inputname]:radio").click(function() {
if($(this).attr("value")=="yes") {
$(".inputclassname").show();
}
if($(this).attr("value")=="no") {
$(".inputclassname").hide();
}
});
function rbcitiSelction(e) {
debugger
$(''#trpersonalemail'').hide();
$(''#trcitiemail'').show();
}
function rbpersSelction(e) {
var personalEmail = $(e).val();
$(''#trpersonalemail'').show();
$(''#trcitiemail'').hide();
}
$(function() {
$("#citiEmail").prop("checked", true)
});