在jquery

时间:2018-05-26 22:45:30

标签: javascript jquery html

我有一张桌子

      <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循环放入表中的项目。

我希望的行为是代码完全阻止用户添加表中已有的项目,但目前只能阻止他们添加自己添加的项目。

0 个答案:

没有答案