第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

使用 json 數(shù)組中的 javascript 在 html 中呈現(xiàn)動(dòng)態(tài)選擇選項(xiàng)

使用 json 數(shù)組中的 javascript 在 html 中呈現(xiàn)動(dòng)態(tài)選擇選項(xiàng)

互換的青春 2023-10-30 14:58:39
我有一個(gè)這樣的對(duì)象var Blocks = {    "name": "Column",    "properties": [        {        "name": "mainAxisAlignment",        "type":"dropDown",        "values":[            "center",            "end",            "spaceAround",            "spaceBetween",            "spaceEvenly",            "start"            ]        },        {        "name": "crossAxisAlignment",            "type":"dropDown",        "values":[            "baseline",            "center",            "end",            "start",            "stretch"            ]        },        {            "name":"direction",            "type": "string"        },        {            "name":"hashCode",            "type": "string"        },        {            "name":"key",            "type": "string"        },        {        "name": "mainAxisSize",                "type":"dropDown",        "values":[            "max",            "min"            ]        },        {            "name":"textBaseline",            "type": "string"        },    ],}我正在嘗試以 html 形式呈現(xiàn)。到目前為止,我能夠獲取標(biāo)簽和選擇列表,但無(wú)法獲取選擇列表中的選項(xiàng),這是我到目前為止所嘗試的。document.getElementById('test1').innerHTML = `<div><div>${Blocks.name}</div><div id='selection'></div></div>`document.getElementById('selection').innerHTML = Blocks.properties.map(user => {    switch (user.type) {        case 'dropDown':            return propertyDropdown(user)        case 'string':            return propertyString(user)        default:            break;    }}).join('')function propertyString(data) {    return `<div style="margin-left: 18px">                <label>${data.name}: </label>            </div>`};function propertyDropdown(data) {    return `<div style="margin-left: 18px">                <label for="property">${data.name}: </label>                <select id="property">                </select>            </div>`};這是我得到的輸出https://i.stack.imgur.com/EwU6R.png 我不知道如何createOptions在這段代碼中使用函數(shù)。
查看完整描述

2 回答

?
慕雪6442864

TA貢獻(xiàn)1812條經(jīng)驗(yàn) 獲得超5個(gè)贊

您的id屬性將導(dǎo)致錯(cuò)誤,因?yàn)槟鸀槊總€(gè)下拉列表分配相同的ID。在這種情況下,您可以使用name屬性作為 ID。


var Blocks={name:"Column",properties:[{name:"mainAxisAlignment",type:"dropDown",values:["center","end","spaceAround","spaceBetween","spaceEvenly","start"]},{name:"crossAxisAlignment",type:"dropDown",values:["baseline","center","end","start","stretch"]},{name:"direction",type:"string"},{name:"hashCode",type:"string"},{name:"key",type:"string"},{name:"mainAxisSize",type:"dropDown",values:["max","min"]},{name:"textBaseline",type:"string"}]};



document.getElementById('test1').innerHTML = `<div>

<div>${Blocks.name}</div>

<div id='selection'></div>


</div>`


document.getElementById('selection').innerHTML = Blocks.properties.map(user => {

    switch (user.type) {

        case 'dropDown':

            return propertyDropdown(user)

        case 'string':

            return propertyString(user)

        default:

            break;

    }


}).join('')


function propertyString(data) {

    return `<div style="margin-left: 18px">

                <label>${data.name}: </label>

            </div>`

};


function propertyDropdown(data) {

    

    const options = data.values.map(opt => createOptions(opt)).join('')


    return `<div style="margin-left: 18px">

                <label for="${data.name}">${data.name}: </label>

                <select id="${data.name}">

                  ${options}

                </select>

            </div>`

};


function createOptions(option) {

    return `<option value="${option}">${option}</option>`

}

<div id="test1"></div>


查看完整回答
反對(duì) 回復(fù) 2023-10-30
?
呼喚遠(yuǎn)方

TA貢獻(xiàn)1856條經(jīng)驗(yàn) 獲得超11個(gè)贊

您可以使用如下循環(huán):

for (key in data.values) {
        output += '<option>' + data.values[key] + '</option>';
    }

示例: https: //jsfiddle.net/commanddotcom/j7f4y0kw/2/


查看完整回答
反對(duì) 回復(fù) 2023-10-30
  • 2 回答
  • 0 關(guān)注
  • 161 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)