2012-06-13 91 views
0

我有一個函數,它需要兩個參數,一個項目(酒)的ID和訂購的瓶子數量。JQuery刪除行不起作用

訂單是在動態jquery表中構建的。

邏輯是,如果用戶購買3瓶以上的折扣,並添加一行顯示折扣的葡萄酒。如果他們將值更改爲3或更多,然後將值降到3以下,我希望顯示折扣的行被刪除。

爲什麼這不起作用?警報正在觸發,所以我想這是remove()行的錯誤。

  function UpdateWineDiscount(id, qty) { 
      // Does discount row already exist? 
      if ($("#trTable tr > td:contains('D" + id + "')").length) { 
       // If discount row exists and qty is now below 3, remove it 
       if (qty < 3) { 
        $("D" + id).remove(); 
        alert("remove"); 
       }; 
      } else { 
       // Is qty >= 3? 
       if (qty >= 3) { 
        // Add discount row 
        var newRow = $("<tr id='D" + id + "' style='color:red'> <td class='drinkID' style='display:none'>D" + id + "</td> <td class='drinkName'>Wine Discount</td> <td></td> <td></td> <td></td> <td></td> <td class='drinkTotal'>-1</td> </tr>"); 
        $("#trTable").append(newRow); 
       } else { 
        // Update discount value 
       }; 
      }; 
     } 
+1

可以包括相關的HTML? –

+0

@DanielHunter雖然我總是傾向於同意你的觀點,但是代碼有一個明顯的錯誤,即刪除不正確,因爲選擇器沒有散列。至於其他方面,相關的html會大大幫助。 – lucuma

回答

2

你的代碼是有點偏離,以便通過id來刪除一個元素,它需要在前面#

$("#D" + id).remove();