2016-02-08 4 views
6

Здравствуйте, ребята, вот проблема. Я хочу выполнить другой расчет на основе этого флажка.Как изменить значение флажка, если он установлен или снят флажок

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

Вот Javascript для расчета цены товара проблема в том, что я не знаю, как я могу сделать еще, если метод

<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 спасибо вам, ребята.

+3

попробовать: - '$ ('# триггер') есть. (": Проверено")' – BenG

+2

Попробуйте этот $ ('# trigger'). Is (': checked'), ресурс http://api.jquery.com/is/ – Haris

+1

Если вышеуказанное не работает, то подробный способ получить статус - документ .getElementById ("trigger"). checked – Nathan

ответ

2

Использование JQuery вы можете сделать:

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

или

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

Если вы хотите повторно запустить расчет при пользователь проверяет или отменяет этот флажок, вы можете запустить тот же код, который вы запускаете в функции keyup:

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

как я могу сделать это как onkeyup? потому что, например, $ ('# demo'). val ($ ('# price'). val() * $ ('# quant'). val() + + myFunction3()); вычисляется, когда я проверил, что значение не изменяется автоматически –

+0

@ Джонас Дулай, вы хотите снова запустить расчет, когда вы установите флажок? –

+0

Да да да .. То, что мне нужно –

0

Ваш скрипт должен выглядеть так:

<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

theres bug bro .. –

+0

как я могу сделать это как onkeyup? потому что, например, $ ('# demo'). val ($ ('# price'). val() * $ ('# quant'). val() + + myFunction3()); вычисляется, когда я проверял, что значение не изменяется автоматически –

+0

Я отредактировал код. –

0

Попробуйте это:

<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

Попробуйте это условие еще, если:

else if($('input#trigger[type=checkbox]').is(":checked")) 
Смежные вопросы