明白了!如果 dialogData.data
是从接口返回的动态数据,那么你只需要在获取到数据后,使用类似的方式将其渲染到 HTML 中。以下是一个示例,展示如何通过 AJAX 请求获取数据并动态生成输入框:
// 假设你用 fetch 从接口获取数据
fetch('你的接口地址') // 替换为实际的 API URL
.then(response => response.json())
.then(dialogData => {
// 创建一个新的 div 元素作为容器
const container = document.createElement('div');
// 遍历 dialogData.data 数组
for (let i = 0; i < dialogData.data.length; i++) {
// 获取当前数据项
const item = dialogData.data[i];
// 创建一个 div 来包裹每一组输入字段
const itemContainer = document.createElement('div');
// 创建并设置所有输入元素
const inputs = [
{ label: "客户姓名", value: item.name },
{ label: "客户ID", value: item.customerId },
{ label: "身份证", value: item.ident },
{ label: "贷款信息代码", value: item.loanInfoCode },
{ label: "产品线", value: item.productLine },
{ label: "产品名称", value: item.productName },
{ label: "贷款金额", value: item.loanAmount },
{ label: "合同编号", value: item.contractCode },
{ label: "逾期本金", value: item.overduePrincipal },
{ label: "逾期天数", value:item.DPD },
{ label:"剩余总金额" ,value:item.totalRemainingAmount},
{label:"应付利息" ,value:item.interestPayable},
{label:"滞纳金" ,value:item.interestPenalty},
{label:"承诺还款金额" ,value:item.committedRepaymentAmount}
];
inputs.forEach(input => {
// 创建标签和输入框
const inputLabel = document.createElement('label');
inputLabel.textContent = input.label + ': ';
const inputField = document.createElement('input');
inputField.type = 'text'; // 输入类型可以根据需要进行更改
inputField.value = input.value;
// 将标签和输入框添加到当前项目容器中
itemContainer.appendChild(inputLabel);
itemContainer.appendChild(inputField);
itemContainer.appendChild(document.createElement('br')); // 换行符,便于排版
});
// 将每一组输入字段添加到主容器中
container.appendChild(itemContainer);
}
// 将容器添加到 body 中,以便展示出来
document.body.appendChild(container);
})
.catch(error => console.error('Error fetching data:', error));
说明:
- AJAX 请求:使用
fetch
方法请求你的接口。请确保替换'你的接口地址'
为实际可用的 API URL。 - 处理响应:使用
.then()
方法处理解析后的 JSON 数据,并在内部执行相应逻辑。 - 动态生成表单:与之前的方法类似,根据获得的数据动态创建对应的输入框。
- 错误处理:简单地捕获并输出错误信息。
这样,代码能够从 API 接口获取真实数据,并根据这些数据动态生成 HTML 表单,无需手动编写固定内容。
内容由零声教学AI助手提供,问题来源于学员提问