点击按钮时提示输入类型文本的值

问题描述 投票:0回答:1

我第一次使用最近的(javascript),我试图提醒用户输入,其他元素的警报工作正常,但用户输入的警报不起作用

这是html和php

<div class="form-group row my-5">
         <?php
         $sqlb = "SELECT * from products where status ='active' order by availability asc";
         $resultb = $conn->query($sqlb);
         while($rowb = $resultb->fetch_assoc()){
              $id=$rowb['id'];
              $names=$rowb['names'];
              $price=$rowb['price'];
              $image=$rowb['image'];
              $availability=$rowb['availability'];
              $qty=$rowb['qty'];
              $description=$rowb['description'];
              ?>
         <div class="col-sm-3 mb-2 mb-sm-0 my-3" >
              <div class="col-sm col-md-12 btn-cart" id="<?php echo $id ?>" 
style="border:2px solid black; border-radius:5px">
<div class="" style="text-align:center">
          <img src="../<?php echo $image ?>" alt="" width="100" height="100" style="border-radius:5px;"><br>
          <span class="names"><?php echo $rowb['names']; ?></span><br>
          <span class="price mr-2">₱<?php echo $rowb['price']; ?> </span><br>
          <input type="text" name="" value="<?php echo $qty  ?>" 
onkeypress='return event.charCode >= 48 && event.charCode <= 57' maxlength="11" class="item_qty">
</div>

              <button type="button" name="button" id="add" class="btn btn-block btn-primary" 
width="10em">Add <i class="fa fa-plus"></i> </button>
         </div>
         </div>
    <?php } ?>
</div>

这是我的脚本

<script>
$('button#add').click(function() {
    var id = $(this).closest('div.btn-cart').attr('id');
    var item_name = $('div#' + id + ' span.names').text();
    var item_price = $('div#' + id + ' span.price').text();
    var item_pic = $('div#' + id + ' span.image').text();
    var item_qty = $('div#' + id + ' input.item_qty').attr('value');
    if (item_qty <= 0) {
          item_qty = 1;
    }
    alert(item_qty);
    alert( item_name );
    alert(item_price);
    alert(id);
});
</script>

仅输入type =“ text”的alert(item_qty)不起作用,它只是不断显示来自]的警报“ 1”>

var item_qty = $('div#' + id + ' input.item_qty').attr('value');
    if (item_qty <= 0) {
          item_qty = 1;
    }

即使我输入“ 654321”或其他任何数字,也>]

我是第一次使用closest(javascript),并且试图提醒用户输入,其他元素的警报工作正常,但用户输入的警报不起作用,这里是html .. 。

javascript closest
1个回答
0
投票

您正在访问用value设置的<input type="text" name="" value="<?php echo 1 ?>"属性。您要做的是使用以下方法访问DOM值:

$('div#' + id + ' input.item_qty').val()

© www.soinside.com 2019 - 2024. All rights reserved.