我第一次使用最近的(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 .. 。
您正在访问用value
设置的<input type="text" name="" value="<?php echo 1 ?>"
属性。您要做的是使用以下方法访问DOM值:
$('div#' + id + ' input.item_qty').val()