比较 OnKeyUp JavaScript 时只有第一位数字


only the first digit when comparing onkeyup javascript

这样的外观 http://prntscr.com/5v3qki

一段代码

<div class="col-md-4"><b id="sisasld">3000000</b></div><hr>     
<div class="table-responsive">
          <table class="table">
            <thead>
            <tr>
                <td>Produk</td>
                <td>subtotal</td>
                <td>nominal</td>
                <td>% lunas</td>
                <td>aksi</td>
            </tr>
            </thead>
            <tbody>
              <?php 
              $jml=0;
              $larikj=array();
              if ((isset($_GET['idak'])) && (adasaldo($_GET['idak'])) && (get_statusbyid($_GET['idak']))) : ?>
                    <?php 
                      $reset=adasaldo($_GET['idak']);
                      $datast=get_statusbyid($_GET['idak']);
                      foreach ($datast as $stdata) {
                        $larikj[]=$stdata['subtotal'];
                       ?>
                        <tr>
                          <td><?php echo($stdata['kdbarang']);?></td>
                          <td id="<?php echo('stto'.$stdata['ids']);?>"><?php echo($stdata['subtotal']);?></td>
                          <td>
                          <script type="text/javascript">
                          function ketikbyr(rpbyr){
                              var stto=document.getElementById('stto'+rpbyr);
                              var sisald=document.getElementById('sisasld');
                              var uang=document.getElementById('bayarr'+rpbyr).value;
                              if (uang > sisasld.innerHTML) {
                                  alert("saldo anda tidak mencukupi");
                              }else if(uang.length==0){
                                  sisasld.innerHTML=<?php echo($reset[0]['sisa']);?>;
                                  document.getElementById('prsn'+rpbyr).value=0+'%';
                              }else{
                                  document.getElementById('prsn'+rpbyr).value=parseInt((uang/stto.innerHTML)*100)+'%';
                                  sisasld.innerHTML=sisasld.innerHTML-uang;
                              }
                              //document.getElementById("").value=
                          }
                          </script>
                          <input type="number" name="bayar" class="form-control" id="<?php echo('bayarr'.$stdata['ids']);?>" onkeyup="ketikbyr(<?php echo($stdata['ids']);?>)"></td>
                          <td><input type="text" name="persentase" class="form-control" id="<?php echo('prsn'.$stdata['ids']);?>"></td>
                          <td><a href="#" class="btn btn-sm btn-primary">bayar</a></td>
                        </tr>
                      <?php
                       }
              $jml=array_sum($larikj);?>
              <?php else: ?>
                  <tr>
                    <td colspan="5">Hasil tidak ditemukan :(</td>
                  </tr>
              <?php endif; ?>
              <tr>
                <td> <b class="text-right"> Total Hutang</b></td>
                <td><span id="sisainv">
                  <?php 
                    echo($jml);
                  ?>
                </span></td>
              </tr>
        </tbody>
        </table>
        </div>
          <hr>

在 Onkeyup 状态下进行比较时,只有元素 idtag = Sisasld 的第一个数字,但事实是错误的,因为数字 4 小于 3000000 ,

有没有其他解决方案?

起初,您的变量名称错误。

你说:

var sisald=document.getElementById('sisasld');

但请检查:

if (uang > sisasld.innerHTML) {

然后,您必须将 innerHTML 的文本解析为一个整数,以便您可以将其与另一个整数进行比较。(不知道uang是不是整数)

if (uang > parseInt(sisasld.innerHTML)) {