Javascript jqQuery查找单元格值,如果存在则更改单元格,如果不存在则添加新行

Javascript jqQuery查找单元格值,如果存在则更改单元格,如果不存在则添加新行,javascript,jquery,html-table,Javascript,Jquery,Html Table,任何帮助都将不胜感激 我试图实现的是,当输入到代码框中的数字/文本搜索表时,如果找到,则将数量增加1,如果未找到,则将添加一个新行,并按1计算no列 我已经有了一些基本的jQuery代码 <input type="text" style="width: 200px" id="code" name="code" /> <input id = "btnSubmit" type="submit" value="Release"/> <table> <thead

任何帮助都将不胜感激

我试图实现的是,当输入到代码框中的数字/文本搜索表时,如果找到,则将数量增加1,如果未找到,则将添加一个新行,并按1计算no列

我已经有了一些基本的jQuery代码

<input type="text" style="width: 200px" id="code" name="code" />
<input id = "btnSubmit" type="submit" value="Release"/>
<table> <thead>
            <tr>
                <th>No</th>
                <th>Code</th>
                <th>Qty</th>

            </tr>
        </thead>
    <tbody>
        <tr>
            <td>1</td>
            <td>4444</td>
            <td>1</td>
        </tr>
        <tr>
            <td>2</td>
            <td>5555</td>
            <td>1</td>

        </tr>
        <tr>
            <td>3</td>
            <td>6666</td>
            <td>1</td>

        </tr>
  <tr>
            <td>4</td>
            <td>7777</td>
            <td>1</td>

        </tr>
    </tbody>
</table>

我已经使用jQuery创建了一个示例代码。我花了大约10分钟的时间才弄明白你想要实现什么,但我希望我能很好地理解你:

HTML端:

<input type="text" style="width: 200px" id="code" name="code" />
<input id = "btnSubmit" type="submit" value="Release"/>
<table> <thead>
            <tr>
                <th>No</th>
                <th>Code</th>
                <th>Qty</th>

            </tr>
        </thead>
    <tbody>
        <tr>
            <td>1</td>
            <td>4444</td>
            <td>1</td>
        </tr>
        <tr>
            <td>2</td>
            <td>5555</td>
            <td>1</td>

        </tr>
        <tr>
            <td>3</td>
            <td>6666</td>
            <td>1</td>

        </tr>
  <tr>
            <td>4</td>
            <td>7777</td>
            <td>1</td>

        </tr>
    </tbody>
</table>

不
代码
数量
1.
4444
1.
2.
5555
1.
3.
6666
1.
4.
7777
1.
还有我们的JavaScript:

$(document).ready(function() {
    var found = false;

    $("input#btnSubmit").on("click", function() {
        var search_val = $("input#code").val();

        $("tr").each(function() {
            var obj = $(this);

            obj.find("td").each(function() {
                if(parseInt($(this).html()) == parseInt(search_val))
                {
                    obj.find("td:nth-of-type(3)").html(parseInt(obj.find("td:nth-of-type(3)").html()) + 1);
                    found = true;
                }
            });
        })

        if(found == false)
        {
            $("table").append("<tr><td>"+($("tr").length)+"</td><td>"+search_val+"</td><td>1</td></tr>");
        }

        found = false;
    });
});
$(文档).ready(函数(){
var=false;
$(“输入#btnSubmit”)。在(“单击”,函数()上){
var search_val=$(“输入代码”).val();
$(“tr”)。每个(函数(){
var obj=$(本);
obj.find(“td”).each(函数(){
if(parseInt($(this.html())==parseInt(search_val))
{
obj.find(“类型(3)的td:n次方)”).html(parseInt(obj.find(“类型(3)的td:n次方)”).html()+1);
发现=真;
}
});
})
if(found==false)
{
$(“表”).append(“+($(“tr”).length)+“+search_val+“1”);
}
发现=错误;
});
});
这里是JSFIDLE:

我将一个JS代码放在一起,并将JS代码复制到这里。我试着让它尽可能对初学者友好

$("#btnSubmit").on("click", function(){
    numRows = $("tr").length;
    for(var i=1 ; i<numRows ; i++){
        var code = $("tr:nth-child(" + i + ") td:nth-child(2)").html();
        var qty = $("tr:nth-child(" + i + ") td:nth-child(3)").html();
        if(code == $("#code").val()){
            $("tr:nth-child(" + i + ") td:nth-child(3)").html(parseInt(qty) + 1);
            return true;
        }
    }

    $("tbody").append("<tr><td>" + numRows + "</td><td>" + $("#code").val() + "</td><td>1</td></tr>");
    return true;
});
$(“#btnsupmit”)。在(“单击”,函数(){
numRows=$(“tr”)。长度;

对于(var i=1;i您是否希望输入框条目与“否”或“代码”匹配以触发增量“数量”?对不起,不,这只是一个不断递增的数字,我希望它与代码匹配,从而触发数量增加1。感谢您的快速回复!!!在数量递增中,如果它不在表中,则不会添加新行。提前感谢-Danny我忘了这么做。很抱歉,我再次为您创建了一个工作版本:/Perfect!!!谢谢正如您所说,一百万也很有帮助,因为我将在将来添加到这个表中。非常感谢。Paul,如果表id为id=“example”,我需要更改什么?为保持此功能正常工作,请注意。您不必更改任何内容,表ID根本不被引用。只有在标记中有多个表时,您才会遇到此问题。如果是这样,则需要将表ID预先添加到当前jQuery选择器,如:“tr”到“#example tr”或“tr:nth child(i)”td:nth child(2)”到“#示例tr:nth child(i)td:nth child(2)”。是的,我将使用多个表,我在询问之前绑定了您的解决方案,它不会增加数量,只是每次追加一个新行orry,修复了它,它正在工作我缺少numRows=$(“tr”).length;。再次感谢。