2016-02-08 16 views
6

Witajcie tutaj, problem. Chcę wykonać inne obliczenia w oparciu o pole wyboru.Jak zmienić wartość pola wyboru, gdy jest zaznaczone lub odznaczone?

<div> 
COD: <input type="checkbox" id="trigger" name="question" > 
</div> 

Oto javascript obliczania ceny przedmiotu Problemem jest to, że nie wiem, jak mogę wykonać inny jeśli metoda

<script> 
    $("#price,#quant,#shipment").keyup(function() { 
     if(+myFunction3() =="") 
     { 
     $('#demo').val(0); 
     } 
     else if($('#trigger')=="checked") //this is the problem 
     { 
     $('#demo').val($('#price').val() * $('#quant').val() ; 
     } 
     else 
     { 
     $('#demo').val($('#price').val() * $('#quant').val() + +myFunction3()); 
    } 
    }); 
    </script> 

Advance dziękuję wam.

+3

try: - '$ ('# spust') jest. (": Zaznaczone")' – BenG

+2

Wypróbuj to $ ("# trigger"). Jest (": sprawdzone"), zasób http://api.jquery.com/is/ – Haris

+1

Jeśli powyższe nie działa, dokładnym sposobem uzyskania statusu jest dokument .getElementById ("trigger"). Sprawdzone – Nathan

Odpowiedz

2

jQuery można zrobić:

else if($('#trigger:checked').length > 0) 

lub

else if($('#trigger').is(':checked')) 

Jeśli chcesz ponownie uruchomić obliczenia, kiedy użytkownik sprawdza lub odznacza pole wyboru, możesz uruchomić ten sam kod, który uruchamiasz na funkcji keyup:

$('#trigger').change(function() { 
    ... 
}) 
+0

jak mogę to zrobić jak onkeyup? ponieważ na przykład $ ('# demo'). val ($ ('# price'). val() * $ ('# quant'). val() + + myFunction3()); jest obliczana, gdy sprawdziłem, czy wartość nie zmienia się automatycznie –

+0

@ Jonas Dulay, chcesz ponownie przeprowadzić obliczenia po zaznaczeniu pola? –

+0

Tak, tak, tak. To właśnie potrzebuję –

0

Twój skrypt powinien wyglądać następująco:

<script> 
    $("#price, #quant, #shipment").keyup(function() { 
     if(+myFunction3() =="") 
     { 
     $('#demo').val(0); 
     } 
     else if ($('#trigger').is(':checked')) { //this is the problem 

     $('#demo').val($('#price').val() * $('#quant').val() ; 
     } 
     else 
     { 
     $('#demo').val($('#price').val() * $('#quant').val() + +myFunction3()); 
    } 
    }); 
    </script> 
+0

Tam jest błąd .. –

+0

jak mogę to zrobić jak onkeyup? ponieważ na przykład $ ('# demo'). val ($ ('# price'). val() * $ ('# quant'). val() + + myFunction3()); jest obliczany, gdy sprawdziłem, czy wartość nie zmienia się automatycznie –

+0

Edytowałem kod. –

0

Spróbuj tego:

<script> 
    $("#price,#quant,#shipment").keyup(function() { 
     if(+myFunction3() =="") 
     { 
     $('#demo').val(0); 
     return; 
     } 

     var isCOD = $('#trigger').is(':checked'); 
     var val = $('#price').val() * $('#quant').val(); 

     if (isCOD) 
     { 
     val += myFunction3(); 
     } 

     $('#demo').val(val); 
    } 
    }); 
    </script> 
0

Spróbuj tego warunku else if:

else if($('input#trigger[type=checkbox]').is(":checked")) 
Powiązane problemy