繁体   English   中英

如何使用JavaScript在HTML输入字段上动态填充JSON数据?

[英]How Do I dynamically populate JSON data on html input field using javascript?

如何在屏幕上的html输入字段上填充以下以下JSON数据? 这是json arraylist

[{
    "Bank Account Name": "State Bank",
    "Currency Code": "4000",
    "Deposit Date": "5/2/1794",
    "Payment Channel": "check",}]

我已将以上数据存储在JSON文件中,如何在屏幕上显示?

<input type="text" id="BankAccountName" />
<input type="text" id="CurrencyCode" />
<input type="text" id="DepositDate" />
<input type="text" id="PaymentChannel" />

这是用相关值填充输入字段的一种非常基本的方法

var jsonData = [{
    "Bank Account Name": "State Bank",
    "Currency Code": "4000",
    "Deposit Date": "5/2/1794",
    "Payment Channel": "check",}]

$("#BankAccountName").val(jsonData[0]['Bank Account Name']);
$("#CurrencyCode").val(jsonData[0]['Currency Code']);
$("#DepositDate").val(jsonData[0]['Deposit Date']);
$("#PaymentChannel").val(jsonData[0]['Payment Channel'])

演示

注意:您尚未提及此json的加载方式。 它在外部文件中还是通过api提供。

另一种方法:

var json = [{
        "Bank Account Name": "State Bank",
        "Currency Code": "4000",
        "Deposit Date": "5/2/1794",
        "Payment Channel": "check",}]

Object.keys(json[0]).map(value => {
  document.getElementById(value.replace(/ /g, "")).value = json[0][value]
})

好处是,如果您要向JSON添加一些新字段,则无需进行任何更改。

您可以尝试以下代码:

 var data = [{ "Bank Account Name": "State Bank", "Currency Code": "4000", "Deposit Date": "5/2/1794", "Payment Channel": "check", }]; $(document).ready(function() { var jsonObj = data[0]; for (var key in jsonObj) { if (jsonObj.hasOwnProperty(key)) { $("#" + key.replace(/ /g, "")).val(jsonObj[key]); } } }) 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script> <input type="text" id="BankAccountName" /> <input type="text" id="CurrencyCode" /> <input type="text" id="DepositDate" /> <input type="text" id="PaymentChannel" /> 

 var myvariable = [{"id":"15aea3fa","firstname":"John","lastname":"Doe"}]; $('#mything').text('id:'+myvariable[0].id+' name:'+myvariable[0].firstname+' '+myvariable[0].lastname); var value=[{ "BankAccountName": "State Bank", "CurrencyCode": "4000", "DepositDate": "5/2/1794", "PaymentChannel": "check",}]; $('#BankAccountName').val(value[0].BankAccountName); $('#CurrencyCode').val(value[0].CurrencyCode); $('#DepositDate').val(value[0].DepositDate); $('#PaymentChannel').val(value[0].PaymentChannel); 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> processed:<div id='mything'></div> <input type="text" id="BankAccountName" /> <input type="text" id="CurrencyCode" /> <input type="text" id="DepositDate" /> <input type="text" id="PaymentChannel" /> 

你去了,一个快速的jQuery解决方案。

var json = [{
    "Bank Account Name": "State Bank",
    "Currency Code": "4000",
    "Deposit Date": "5/2/1794",
    "Payment Channel": "check"}];

$.each(json[0] , function (key, value){
    key = key.replace(/ /g,'');
    $('input[id='+key+']').val(value);
});

您可以遍历json数据并设置文本字段的值。 `

 var data= [{
    "Bank Account Name": "State Bank",
    "Currency Code": "4000",
    "Deposit Date": "5/2/1794",
    "Payment Channel": "check",}];

$.each(data[0],function(key,value){
id=key.replace(" ","");


document.getElementById(id).value=value;
});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM