我有一张桌子
<table id="orderTable">
<tr>
<th>Item Name</th>
<th>Price</th>
</tr>
当页面加载时,它正在循环填充
<tr>
<td><?php echo $name ?></td>
<td><?php echo $price ?></td>
</tr>
我试图允许用户通过使用以下jquery点击此表之前的菜单中相关项旁边的添加按钮来向表添加项目:
$(".menu-body").on('click', '#add', function() {
add_to_table($(this));
});
我不希望用户能够将表中的项添加到表中。
function add_to_table(selector)
{
var itemName = $(selector).closest(".item").find(".item-name").html();
var itemCost = $(selector).closest(".item").find(".item-price").html();
content = "<tr> <td>"+itemName+"</td> <td>"+itemCost+"</td>
var table = $("#orderTable");
if(!$('#orderTable tr > td:contains("'+itemName+'")').length)
{
// If table does not contain this itemName already.
table.append(content);
}
else {
//table has item
}
}
目前,单击“添加”按钮会添加一个项目,无论它是否在表格中,但它会正确地阻止用户添加另一个项目。因此它适用于用户添加的项目,但似乎我的条件语句不适用于已经通过PHP循环放入表中的项目。
我希望的行为是代码完全阻止用户添加表中已有的项目,但目前只能阻止他们添加自己添加的项目。