2 votos

Utilizar if else con botón de selección en Jquery

Necesito cambiar una formula al elegir una opción en el botón de selección de jquery, esto fue lo que hice pero no resulta, alguien que me pueda ayudar?

<script type="text/javascript">
function transfusion() {
    $hpaciente = $('#hpaciente').get(0).value
    $hesperado = $('#hesperado').get(0).value
    $hdonante = $('#hdonante').get(0).value
    $peso = $('#peso').get(0).value

    $('input:radio[name="radio1"]').change(
function(){
    if ($(this).val() == 'perro') {
        $resultado = (($hesperado - $hpaciente) / ($hdonante)) * ($peso) * 88;
        $resultado = Math.round($resultado*Math.pow(10,2))/Math.pow(10,2);
    } 
    else if ($(this).val() == 'gato'){
        $resultado = (($hesperado - $hpaciente) / ($hdonante)) * ($peso) * 66;
        $resultado = Math.round($resultado*Math.pow(10,2))/Math.pow(10,2);
    }
});

</script>

<fieldset data-role="controlgroup" data-type="horizontal">
    <input type="radio" name="radio1" id="radio1_0" value="perro" />
    <label for="radio1_0">Perro</label>
    <input type="radio" name="radio1" id="radio1_1" value="gato" />
    <label for="radio1_1">Gato</label>
  </fieldset>

0voto

aFrost Puntos 110

El código está bien, el problema es que no estás haciendo attach del evento en ningún momento, prueba a sacar el evento de la función transfusion() y a ponerlo en el document ready. Puedes quitarle los alerts que he puesto para probar =P.

<script type="text/javascript">
function transfusion() {
    $hpaciente = $('#hpaciente').get(0).value
    $hesperado = $('#hesperado').get(0).value
    $hdonante = $('#hdonante').get(0).value
    $peso = $('#peso').get(0).value
}
$(document).ready(function(){
    $('input:radio[name="radio1"]').change( function(){
        if ($(this).val() == 'perro') {
            alert("perro");
            $resultado = (($hesperado - $hpaciente) / ($hdonante)) * ($peso) * 88;
            $resultado = Math.round($resultado*Math.pow(10,2))/Math.pow(10,2);
        } 
        else if ($(this).val() == 'gato'){
            alert("gato");
            $resultado = (($hesperado - $hpaciente) / ($hdonante)) * ($peso) * 66;
            $resultado = Math.round($resultado*Math.pow(10,2))/Math.pow(10,2);
        }
    });
});

</script>

0voto

Mateo Guzmán Puntos 10

Quizas les pueda servir esto. https://www.youtube.com/watch?v=FKTu3jEgQZA&list=PLDM_4W9BKy-hVJKke2UGTwD7tXT2wXL4c&index=3

Iteramos.com

Iteramos es una comunidad de desarrolladores que busca expandir el conocimiento de la programación mas allá del inglés.
Tenemos una gran cantidad de contenido, y también puedes hacer tus propias preguntas o resolver las de los demás.

Powered by:

X