我正在使用jQuery创建动态多个
HTML输入框并填充值,填充后我想在每个文本框中更新产品价格,并使用ajax将更新后的值提交给服务器.我面临着以下代码的问题,如果我在文本框中编辑产品价格并点击更新按钮,它调用我的ajax功能,但更新产品价格不发送到服务器.我变得空虚了.
如果我单击“更新”按钮,我将获得以下代码的空数组:
JSON.stringify($("#updateNameForm").serializeArray())
出于某种原因,我的动态文本框更新了不会出现在ajax方法中的值.
请找到我的以下代码 – 有人可以帮助我在这里做错了以及如何解决问题.
完整代码:
来自服务器端的JSON:
[{ "productName": "Product1","productPrice": "323" },{ "productName": "Product2","productPrice": "4333" }]
<div class="content-wrapper"> <section class="content"> <div class="row"> <div class="col-md-9"> <div class="Box Box-info"> <div class="Box-header with-border"> <h3 class="Box-title">My Form</h3> </div> <!-- /.Box-header --> <form id="updateNameForm" class="form-horizontal" method="post"> <div class="Box-body"> </div> <div class="form-group"> <div class="col-sm-offset-2 col-sm-10"> <div class="checkBox"> <label> <input type="checkBox" id="editName" class="input_control" /> <strong> Edit</strong> </label> </div> </div> </div> <div class="Box-footer"> <button type="submit" class="btn btn-default">Cancel</button> <input id="updateName" type="button" name="updatea" value="Update" class="btn btn-info pull-right"> </div> </form> </div> </div> </div> </section> </div>
更新Ajax
$("#updateName").on('click',function() { $.ajax({ url: 'myApp/updateProduct',type: "PUT",dataType: 'json',data: JSON.stringify($("#updateNameForm").serializeArray()),success: function(result) { alert(result); },error: function(e) { console.log(e.responseText); } }); });
loadProduct函数
function loadProduct() { $.ajax({ url: 'myApp/getProduct',type: "GET",success: function(productJson) { $.each(JSON.parse(JSON.stringify(productJson)),function(idx,obj) { var formgroup = $("<div/>",{ class: "form-group" }); formgroup.append($("<label>",{ class: "col-sm-2 control-label",text: obj.productName })); var colsm = $("<div/>",{ class: "col-sm-10" }); var input = $("<input/>",{ type: "text",class: "form-control",id: obj.productName + "Id",value: obj.productPrice }); colsm.append(input); formgroup.append(colsm); $(".Box-body").append(formgroup); }); },error: function(e) { console.log(e.responseText); } }); }
谢谢!
解决方法
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。