jQuery仅适用于第一个提取的项目

时间:2018-10-31 13:06:41

标签: php jquery

代码显示数据库数据&我想为数量= 1隐藏“ minusbtn”并显示锚标记,当它再次增加时,两者都会显示。 jQuery仅适用于第一个提取的数据库项目,因此请指导我jquery中将进行哪些更改,以便它将适用于从数据库获取的所有项目。

<?php        
    //Get all these items
    $query = mysql_query("select * from products_added where `username` = '".mysql_real_escape_string($_SESSION["REMOTE_ADDR"])."'");
    ?>
    <?php
    //Fetch all added items and display to the screen for the specified user
    while ($row = mysql_fetch_assoc($query))
    {
        $item_id = $row["id"];
        $item_name = $row["item_added"];
        $price = $row["price"];
        $quantity = $row["quantity"];
        $amount = $row["amount"];
        $date = $row["date"];
        ?>
        <div id="items_cover<?php echo $item_id;?>">
            <dl class="row order-item-total"  >
                <dt class="col-sm-2 text-weight-light text-right"><?php echo $item_name; ?></dt>
                <dd class="col-sm-8 tempptr">
                    <input type='button' value='-' class='qtyminus' id="minusbtn" field='quantity' data-id="<?php echo $row["id"]; ?>" data-value="<?php echo $row['price'];?>"/>
                    <input type='text' name='quantity' id="qty" value="<?php echo $quantity ;?>" class='qty' data-value="<?php echo $quantity ;?>"/>
                    <input type='button' value='+' class='qtyplus' id="plusbtn"  field='quantity' data-id="<?php echo $row["id"]; ?>" data-value="<?php echo $row['price'];?>"/> X <?php echo $row['price'];?>
                    <input type="hidden" value="<?php echo $amount; ?>" id="amount1">
                </dd>
                <dd class="col-sm-2 text-spl-color text-right totalamt" id="totalamt">Rs.<?php echo $amount; ?></dd>
                <dd class="col-sm-1">
                    <a href="javascript:void(0);" style="width:10px; height:10px; padding:3px;padding-left:8px;padding-right:8px; text-decoration:none;" id="vpb_cart_buttons" title="Remove this item" onclick="vpb_remove_this_item('<?php echo $item_id; ?>');">X</a>
                </dd>
            </dl>
        </div>
<?php } ?>

仅适用于第一个div的jquery建议解决方案

$(document).ready(function(){
    var qty=$('.qty').attr('data-value');
    if(qty==1){
        $("#vpb_cart_buttons").hide();
    }else{
       $("#vpb_cart_buttons").hide();
    }
});

1 个答案:

答案 0 :(得分:0)

这是因为您正在while循环中使用相同ID的HTML元素。这会导致重复的ID,而根据规则,ID在页面上应该是唯一的。 因此,JQuery仅选择第一个匹配的ID。为此,请使用类。