如何检查 Jquery 中的重复项
How to check the duplication in Jquery
嗨,我需要 Jquery 方面的帮助。实际上我使用 Jquery 创建了 table 并且我不想插入那些已经插入的值。
我在那个框中有一个下拉框,我有一些 ProductName 和两个文本框,我在其中输入数量和价格。
当我单击“添加到列表”按钮时,该值被插入 table。
现在,如果我再次以不同的价格和数量再次插入相同的商品,它将被输入。
我希望当我单击“添加到列表”按钮时,我会收到一条警告消息“项目已插入”。我为此尝试了很多,但我都失败了。
让我与您分享我的代码。请帮助我。
$("#addToList").click(function (e) {
debugger;
e.preventDefault();
if ($.trim($("#StockID").val()) == "" || $.trim($("#Quantity").val()) == "" || $.trim($("#Price").val()) == "")
return;
var orderid
var productName = $("#StockID option:selected").text();
var pid = $("#StockID option:selected").val();
let price = $("#Price").val();
let quantity = $("#Quantity").val();
var tmp1 = {};
tmp1.productName = $("#StockID option:selected").text();
tmp1.pid = $("#StockID option:selected").val();
tmp1.price = $("#Price").val();
tmp1.quantity = $("#Quantity").val();
tmp1 = {};
if (tmp1[productName]) {
alert('Item is already added !');
}
else {
let detailsTableBody = $("#detailsTable tbody");
var productItem = `<tr>
<td pid=${pid}>
${productName}
</td>
<td><span data-line_qty="${quantity}" data-itemId="0" href="#" class="qtyItem" >${quantity}</span></td>
<td>${price}</td>
<td>${(parseFloat(price) * parseInt(quantity))}</td>
<td><a data-line_total="${(parseFloat(price) * parseInt(quantity, 10))}" data-itemId="0" href="#" class="deleteItem">Remove</a></td>
</tr>`;
detailsTableBody.append(productItem);
calc_total();
clearItem();
}
});
$("#addToList").click(function (e) {
debugger;
e.preventDefault();
if ($.trim($("#StockID").val()) == "" || $.trim($("#Quantity").val()) == "" || $.trim($("#Price").val()) == "")
return;
var orderid
var productName = $("#StockID option:selected").text();
var pid = $("#StockID option:selected").val();
let price = $("#Price").val();
let quantity = $("#Quantity").val();
var isAdded = false;
$("#detailsTable tr").each(function(e) {
if ($(this).find("> td:first-child").attr('data-pid') == pid) {
isAdded = true;
return false;
}
});
if (isAdded) {
alert('Item is already added !');
}
else {
let detailsTableBody = $("#detailsTable tbody");
var productItem = `<tr>
<td data-pid="${pid}">
${productName}
</td>
<td><span data-line_qty="${quantity}" data-itemId="0" href="#" class="qtyItem" >${quantity}</span></td>
<td>${price}</td>
<td>${(parseFloat(price) * parseInt(quantity))}</td>
<td><a data-line_total="${(parseFloat(price) * parseInt(quantity, 10))}" data-itemId="0" href="#" class="deleteItem">Remove</a></td>
</tr>`;
detailsTableBody.append(productItem);
calc_total();
clearItem();
}
});
嗨,我需要 Jquery 方面的帮助。实际上我使用 Jquery 创建了 table 并且我不想插入那些已经插入的值。
我在那个框中有一个下拉框,我有一些 ProductName 和两个文本框,我在其中输入数量和价格。
当我单击“添加到列表”按钮时,该值被插入 table。
现在,如果我再次以不同的价格和数量再次插入相同的商品,它将被输入。
我希望当我单击“添加到列表”按钮时,我会收到一条警告消息“项目已插入”。我为此尝试了很多,但我都失败了。
让我与您分享我的代码。请帮助我。
$("#addToList").click(function (e) {
debugger;
e.preventDefault();
if ($.trim($("#StockID").val()) == "" || $.trim($("#Quantity").val()) == "" || $.trim($("#Price").val()) == "")
return;
var orderid
var productName = $("#StockID option:selected").text();
var pid = $("#StockID option:selected").val();
let price = $("#Price").val();
let quantity = $("#Quantity").val();
var tmp1 = {};
tmp1.productName = $("#StockID option:selected").text();
tmp1.pid = $("#StockID option:selected").val();
tmp1.price = $("#Price").val();
tmp1.quantity = $("#Quantity").val();
tmp1 = {};
if (tmp1[productName]) {
alert('Item is already added !');
}
else {
let detailsTableBody = $("#detailsTable tbody");
var productItem = `<tr>
<td pid=${pid}>
${productName}
</td>
<td><span data-line_qty="${quantity}" data-itemId="0" href="#" class="qtyItem" >${quantity}</span></td>
<td>${price}</td>
<td>${(parseFloat(price) * parseInt(quantity))}</td>
<td><a data-line_total="${(parseFloat(price) * parseInt(quantity, 10))}" data-itemId="0" href="#" class="deleteItem">Remove</a></td>
</tr>`;
detailsTableBody.append(productItem);
calc_total();
clearItem();
}
});
$("#addToList").click(function (e) {
debugger;
e.preventDefault();
if ($.trim($("#StockID").val()) == "" || $.trim($("#Quantity").val()) == "" || $.trim($("#Price").val()) == "")
return;
var orderid
var productName = $("#StockID option:selected").text();
var pid = $("#StockID option:selected").val();
let price = $("#Price").val();
let quantity = $("#Quantity").val();
var isAdded = false;
$("#detailsTable tr").each(function(e) {
if ($(this).find("> td:first-child").attr('data-pid') == pid) {
isAdded = true;
return false;
}
});
if (isAdded) {
alert('Item is already added !');
}
else {
let detailsTableBody = $("#detailsTable tbody");
var productItem = `<tr>
<td data-pid="${pid}">
${productName}
</td>
<td><span data-line_qty="${quantity}" data-itemId="0" href="#" class="qtyItem" >${quantity}</span></td>
<td>${price}</td>
<td>${(parseFloat(price) * parseInt(quantity))}</td>
<td><a data-line_total="${(parseFloat(price) * parseInt(quantity, 10))}" data-itemId="0" href="#" class="deleteItem">Remove</a></td>
</tr>`;
detailsTableBody.append(productItem);
calc_total();
clearItem();
}
});