php 我的Jquery函数如何在整个表上工作?

mkh04yzy  于 2022-12-02  发布在  PHP
关注(0)|答案(3)|浏览(130)

我有一个问题,在我的代码...我的jquery代码只实现的第一行的表,而不是其他...请检查我的代码

<tr>
                <td><?php echo $row['serial no.'] ?></td>
                <td><?php echo $row['pname'] ?></td>
                <td><input type="text" class="form-control" id="prate"  name = "uprice" value="<?php echo $prate = $row['uprice'];?>"></td>
                <td> <input type="number" class="form-control" id="pqty" name = "quantity" value ="<?php $quant = ""; echo $quant; ?>"></td>
                <td> <input type="text" class="form-control" id="pTotal" name = "price" value = "<?php $tprice = ""; echo $tprice; ?>" ></td>
    </tr>

这是我的html代码....

<script>
              $("#prate").keyup(function(){
                // console.log('presssed');

          var prate = document.getElementById('prate').value;
          var pqty = document.getElementById('pqty').value;
          var ptotal = parseInt(prate) * parseInt(pqty);

          document.getElementById('pTotal').value = ptotal;
        });

        $("#pqty").keyup(function(){
          // console.log('presssed');
          var prate = document.getElementById('prate').value;
          var pqty = document.getElementById('pqty').value;
          var ptotal = parseInt(prate) * parseInt(pqty);

          document.getElementById('pTotal').value = ptotal;
        });
        </script>

这是jquery...请帮助我

9lowa7mx

9lowa7mx1#

正如你所知,id在整个页面上必须是唯一的。所以在每一行和每一项上,要么你有一个唯一的id(这将是复杂的绑定事件),所以你可以用类或下面的脚本来绑定事件。

<script>
        $('input[name="uprice"]').keyup(function(){
        
          var prate = $(this).val();
          var pqty = $(this).parent().next().find('input[name="quantity"]').val();
          var ptotal = parseInt(prate) * parseInt(pqty);

         $(this).parent().next().next().find('input[name="price"]').val(ptotal);
        });

        $('input[name="quantity"]').keyup(function(){
          var prate = $(this).parent().prev().find('input[name="uprice"]').val();;
          var pqty = $(this).val();
          var ptotal = parseInt(prate) * parseInt(pqty);

          $(this).parent().next().find('input[name="price"]').val(ptotal);
        });
</script>

不是已经测试过但是应该对你有帮助。

h9a6wy2h

h9a6wy2h2#

使用类选择器(而不是id选择器)和each方法在所有行上实现所需的命令。

huus2vyu

huus2vyu3#

ID必须是唯一的,而不是将一个类作为每个表数据的引用,并尝试每个方法:

$('.pqty').each(function(i, element){
    $(element).keyup(function(evt) { 
        /* anything */
    })
 })

相关问题