enable or disable submit button in jquery when field jml_automatic is lower than id_km field

i just learn jquery last month, and now i try to work on a form with jquery to allow users to input request for gas. but the script not work to compare value from #jml_km with #id_km and the submit button still not disabled when the the value from compare is true

    <strike>     <form class="form-horizontal" role="form" action="<?php echo $action; ?>" method="post" id="form">                      <div class="form-group">                     <label class="col-xs-8 col-sm-3" for="id_tipe">Tipe Aset</label>                     <div class="col-xs-8 col-sm-3">                         <?php echo form_dropdown('field[id_tipe]', $list_tipe,$id_tipe, 'id="id_tipe"    class="form-control" required'); ?>                         </div>                 </div>                 <div class="form-group">                     <label class="col-xs-8 col-sm-3" for="id_km">Kilometer</label>                     <div class="col-xs-8 col-sm-3">                         <?php echo form_dropdown('field[id_km]', $list_kilometer,$id_km, 'id="id_km" class="form-control" required'); ?>                         </div>                 </div>                 <div class="form-group">                     <label class="col-xs-8 col-sm-3" for="km_sebelumnya">Kilometer Sebelumnya</label>                     <div class="col-xs-8 col-sm-3">                         <input type="text" placeholder="Kilometer Sebelumnya" id="km_sebelumnya" name="field[km_sebelumnya]" class="form-control" value="<?=$km_sebelumnya?>" >                     </div>                 </div>                 <div class="form-group">                     <label class="col-xs-8 col-sm-3" for="km_pengajuan">Kilometer Pengajuan</label>                     <div class="col-xs-8 col-sm-3">                         <input type="text" placeholder="Kilometer Pengajuan" id="km_pengajuan" name="field[km_pengajuan]" class="form-control" value="<?=$km_pengajuan?>" >                     </div>                 </div>                 <div class="form-group">                     <label class="col-xs-8 col-sm-3" for="jml_km">Jumlah Kilometer</label>                     <div class="col-xs-8 col-sm-3">                         <input type="text" placeholder="Jumlah Kilometer" id="jml_km" name="field[jml_km]" class="form-control" value="<?=$jml_km?>" readonly >                     </div>                 </div>                 <div class="form-group">                     <label class="<?php echo COL_FORM_LABEL;?>"></label>                     <div class="<?php echo COL_FORM_INPUT;?>">                         <button class="btn btn-info" type="submit" id="btn_submit">Simpan</button>                         <button class="btn btn-default" type="button" id="btnClear">Hapus</button>                         <button class="btn btn-danger" type="button" id="btn_back">Kembali</button>                     </div>                 </div> 
        $(document).ready(function() {             $("#km_sebelumnya, #km_pengajuan").keyup(function() {                 var km_sebelumnya  = $("#km_sebelumnya").val();                 var km_pengajuan = $("#km_pengajuan").val();                      var jml_km = parseInt(km_pengajuan) - parseInt(km_sebelumnya);                 $("#jml_km").val(jml_km);             });         });                  $(document).on('change', '#jml_km', function(){             $('#btn_submit').prop('disabled',true);                 var idKm = parseInt($('#id_km').val());                 var jmlKm = parseInt($(this).val());                     if ($(this).val() >= $('#id_km').val() ) {                         $('#btn_submit').prop('disabled', false);                     } else {                         $('#btn_submit').prop('disabled', true);                     }                 }); 

the problem is submit button still not disable when the compare produce true, please help

Add Comment
2 Answer(s)

You can try the below script, it’s working.

    if ($(this).val() >= $('#id_km').val() )      {          $('#btn_submit').removeAttr("disabled", "disabled");          $('#btn_submit').css("cursor", "pointer");     }      else {           $('#btn_submit').attr("disabled", "disabled");           $('#btn_submit').css("cursor", "not-allowed");     } 
Add Comment

the output of this code if ($(this).val() >= $('#id_km').val() ) makes 5>32, its a comparison between first digits, not a comparison between their values , to fix it use if (Number($(this).val()) >= Number($('#id_km').val()) )

Add Comment

Your Answer

By posting your answer, you agree to the privacy policy and terms of service.