【发布时间】:2021-07-07 19:47:38
【问题描述】:
我将创建一个简单的电子商务应用程序。我有 API 调用,它返回如下所示的变体对象。我想动态生成变体框。现在我收到一个选项值,我想收到我提到的图像之类的选项值。此外,选择框是动态的——可以有三个以上的变化。我怎样才能达到这个结果?提前致谢。
var variations = [{
NameValueList: [
{ Name: "Color", Value: ["Cloud White / Core Black"] },
{ Name: "US Shoe Size (Women's)", Value: ["11"] },
]
},
{
NameValueList: [
{ Name: "Color", Value: ["Cloud White / Core Green"] },
{ Name: "US Shoe Size (Women's)", Value: ["13"] },
]
},
{
NameValueList: [
{ Name: "Color", Value: ["Cloud White / Core White"] },
{ Name: "US Shoe Size (Women's)", Value: ["15"] },
]
},
]
document.getElementById("generateVariations").addEventListener("click", () => {
var html;
variations.map(el => {
html = el.NameValueList.map(nameValue => {
return `<select name="${nameValue.Name}">
<option value="${nameValue.Value[0]}">${nameValue.Value[0]}</option>
</select>`
})
})
document.getElementById("variations2").innerHTML = html.join('')
})
<div id="variations2"></div>
<button id="generateVariations">Generate variations</button>
【问题讨论】:
-
那么从您给出的给定代码示例中,在变量变量上,
NameValueList内的每个对象都应该有一个select标记?Values属性是否代表options的数量? -
不,在这个例子中,我的目标是生成 2 个选择框,第一个包含所有颜色选项,第二个包含所有值选项
-
因此,如果我们要实现您的示例,您会期望每个
select boxes上都有 2 个select boxes和 3 个options,它们的值都相同,对吧? -
是的,你是对的,值将是颜色(“云白色 / 核心黑色”,“云白色 / 核心绿色”,“云白色 / 核心白色”)和美国鞋码(“11” , "13", "15")
标签: javascript html css json api