隐藏的字段值没有得到填充JQuery

时间:2015-07-02 06:59:22

标签: javascript jquery

我使用jQuery附加了一个HTML表格,如下所示,点按一下按钮

$("#listadd").click(function() {


    if (validateListAdd()) {

        var mcode = $("#mcodehidden").val();

        if(checkItemDuplicates(mcode)) {
            var mname = $("#mnamehidden").val();
            var sellprice = $("#sellprice").val();
            var cost = $("#cost").val();
            var qty = $("#qty").val();
            var remark = $("#remark").val();
            var subtotal = sellprice * qty;
            alert(qty);

            $("#productlist tbody").append('<tr  class="sumrow"><td><input id="hdqty" type="hidden" name="tblqty[]" value="' + qty + '"><input id="hdsubtotal" type="hidden" name="tblsubtotal[]" value="' + subtotal + '"><input type="hidden" name="tblmcode[]" value="' + mcode + '">' + mcode + '<input type="hidden" name="tblcost[]" value=' + cost + ' ></td><td><input type="hidden" name="tblmname[]" value="' + mname + '">' + mname  + '</td><td id="tdprice"><input type="hidden" name="tblsellprice[]" value=' + sellprice + '>' + sellprice + '</td><td id="tdqty">' + qty + '</td><td  class="subtotal">' + subtotal + '</td><td><input type="hidden" name="tblremark[]" value=' + remark + '>' + remark + '</td><td><center><button type="button" class="edit" title="Edit this row"></center></td><td><center><button type="button" class="delete" title="Remove this row"></center></td></tr>');

            $('[id$=mcode]').val("");
            $('[id$=mname]').val("");
            $('[id$=sellprice]').val("");
            $('[id$=qty]').val("");
            $('[id$=mcodehidden]').val("");
            $('[id$=mnamehidden]').val("");

            calculateTotal();
        }else{

            alert("Sorry, You have already added this item");

        }

    } else {

        alert("You have entered invalid data, Please check again");

    }

});

问题是隐藏字段的值#hdqty没有被var&#34; qty&#34;填充。但是我在这里使用的警报中正确显示了值。当我在浏览器中检查元素(表格行)时,它将隐藏字段显示为

<input id="hdqty" type="hidden" name="tblqty[]" value>

有人能指出我的错误吗?

2 个答案:

答案 0 :(得分:4)

您在构建的字符串中设置#hdqty字段的值,但下面的行几乎立即删除了该值:

$('[id$=qty]').val("");

上面的选择器匹配具有 id结尾的qty属性的任何元素。

删除该行,或更改选择器以更符合您的要求,您的代码将起作用。

答案 1 :(得分:1)

粘贴此

$("#productlist tbody").append('<tr  class="sumrow"><td><input id="hdqty" type="hidden" name="tblqty[]" value="' + qty + '"/><input id="hdsubtotal" type="hidden" name="tblsubtotal[]" value="' + subtotal + '"/><input type="hidden" name="tblmcode[]" value="' + mcode + '"/>' + mcode + '<input type="hidden" name="tblcost[]" value=' + cost + ' /></td><td><input type="hidden" name="tblmname[]" value="' + mname + '">' + mname  + '</td><td id="tdprice"><input type="hidden" name="tblsellprice[]" value=' + sellprice + '>' + sellprice + '</td><td id="tdqty">' + qty + '</td><td  class="subtotal">' + subtotal + '</td><td><input type="hidden" name="tblremark[]" value=' + remark + '>' + remark + '</td><td><center><button type="button" class="edit" title="Edit this row"></center></td><td><center><button type="button" class="delete" title="Remove this row"></center></td></tr>');

也会在上面的代码

之前粘贴这一行
$('[id$=qty]').val("");