我在互联网上看到了很多关于循环 JSON 对象并将其打印到 html 表中的示例。但是我的问题有点不同,因为我需要第一列是图像,接下来的几列是 json 数组中的 json 数据,最后是最后一列中的输入字段(此输入字段的值是从 json 提供的数组也是如此)。
这是我拥有的完整 JSON,其中 tabledata 包含创建 html 表所需的信息数组:
{"approverName":"","emailAddress":"","companyName":"ABC","address":{"streetAddress1":"12 BlahBlah","streetAddress2":"","state":"ON","zipCode":"","country":"SO","phoneNumber":""},"tabledata":[{"vendorPart":"AAAAA","partDescription":"N/A","price":"0.00","quantity":"28"},{"vendorPart":"BBBBBBB","partDescription":"N/A","price":"0.00","quantity":"3"},{"vendorPart":"CCCCCC","partDescription":"N/A","price":"0.00","quantity":"25"}]}
这是我的 Jquery 的 ajax 成功函数,它访问 web 服务并获取数据(只是为了让您知道 JSON 对象是如何被使用/创建的):
success: function(data, status, jqxhr) {
var xml = $($.parseXML(data)), // Parse the XML String to a Document, and Wrap jQuery
json = xml.find("string").text(), // Get the text of the XML
jsonObj = $.parseJSON(json); // Parse the JSON String
$('#approver').val(jsonObj.approverName);
$('#emailaddress').val(jsonObj.emailAddress);
$('#address1').val(jsonObj.address.streetAddress1);
$('#address2').val(jsonObj.address.streetAddress2);
$('#postalcode').val(jsonObj.address.zipCode);
$('#city').val(jsonObj.address.state);
$('#country').val(jsonObj.address.country);
$('#phone').val(jsonObj.address.phoneNumber);
},
分配输入字段后,我需要将表单设置为 如下所示(目前是硬编码)
根据此图像,您可以看到第一列是图像,第二 - 第四列是来自 jsonObj 的数据,第四列是我必须创建的输入字段,其值也来自 jsonObj。
这是输入的代码:
<input class="quantityClass" type="number" name="quantity" min="0" />
我也想知道,如果我用jquery渲染表格,我在这张表格上做了很多CSS,CSS是否仍然在正确的时间生效?我希望js/css同时运行。