簡體   English   中英

每當我點擊刪除按鈕時,總是第一個項目被刪除,而不是我要刪除的特定項目

[英]always 1st item get deleted when ever i tap on the delete button not the particular item which i want to delete

 app.get('/delete', function(req, res, next) { var id = req.query.id; console.log(id); MongoClient.connect(dburl, function(err, db) { if(err) { throw err; } db.collection('shopping_list', function(err, products) { products.deleteOne({_id: mongodb.ObjectID(id)}); if (err){ throw err; }else{ //console.log("deleted"); db.close(); } }); }); }); 
 <body> <h1> Shopping List </h1> <img src="images/cart.png" id="cart"> <div class="text"> <input type="search" placeholder="Find" id="find"/> <a href="http://www.google.com"><input type="submit" id="find" value="Search" style="background-color: #a3a3c2 ;color:white; width:170px;"></a> </div> <form action="/add" method="POST"> <div class="f"> <a href="http://www.facebook.com"><img src="images/fc.jpg" class="follow"></a> <a href="http://www.twitter.com"><img src="images/twt.jpg" class="follow"></a> <a href="http://www.instgram.com"><img src="images/ins1.jpg" class="follow"></a> </div> <div class="container"> <div class="row"> <div class="col-md-4"> <label style="margin-left: 20px;">Shopping item</label>&emsp;&emsp;&emsp;&emsp;&emsp;&emsp;&emsp;&emsp;&emsp;&emsp;&emsp;&emsp; <label>Quantity</label> </div> </div> <div class="row"> <div class="col-md-8"> <input type="text" id="item" name="item"/>&emsp;&emsp;&emsp;&emsp; <input type="text" id="quan" name="quan"/>&emsp;&emsp;&emsp;&emsp; <input type="submit" id="submit" value="Add item" style="background-color: #a3a3c2 ; color:white; width:170px;" /> </div> </div> </div> </form> <div class="container"> <div class="row"> <div class="col-md-12"> <table id="tbody"> <tr> <th>Item</th> <th>Quantity</th> </tr> </table> </div> </div> </div> <button id="btn" style="background-color: #a3a3c2 ; color:white; width:170px; margin-left:807px; margin-top:30px;">Clear</button> <script> $(function() { // GET $.ajax({ url: '/render', type: 'get', dataType: 'json', success: function(data) { for (var i = 0; i < data.length; i++) { var trHTML = ''; trHTML += '<tr>'; trHTML += '<td style="display:none" id="id">' +data[i]._id +'</td>'; trHTML += '<td >' + data[i].item + '</td>'; trHTML += '<td >' + data[i].quantity + '</td>'; trHTML += '<td >' + '<button class="delete-button" style="background-color: #a3a3c2 ; color:white; width:170px; margin-left:370px;">Delete</button>' + '</td>'; trHTML += '</tr>'; $('#tbody').append(trHTML); } } }); $(document).ready(function(){ $('table').on('click', '.delete-button', function() { alert("Confirm delete"); var id=$('#id').html(); console.log(id); //var rowEl = $(this).closest('tr'); //var id = rowEl.find('.id').text();*/ $.ajax({ url: '/delete', type: 'get', dataType: 'json', data:{id:id}, success: function(data) { alert("deleted"); //$(this).closest('tr').remove(); } }); }); }); 
每當我點擊刪除按鈕時,總是第一個項目被刪除,而不是我要刪除的特定項目

每當我使用刪除按鈕但我希望刪除特定項目時,位於數據庫頂部的每次項目都會被刪除。 因為我為每個項目提供單獨的刪除按鈕,所以我也面臨相同的問題。

這行是問題所在:

var id=$('#id').html();

因為您有多個ID為“ id”的單元格,所以此分配選擇了第一個。 更改為此:

var id = $(this).parent().siblings('#id').text();

在與刪除按鈕相同的行中獲取“ id”單元格的內容。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM