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

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

下拉列表的第一項未定義

下拉列表的第一項未定義

眼眸繁星 2021-08-26 14:59:22
我在腳本標簽中調(diào)用外部 JSON 文件。Dropdown 正常呈現(xiàn) JSON 文件,但元素“未定義”附加到下拉值。這是我的 JSON 文件:{"vendor_name":["User 1", "User 2", "User 3"]}這是我的 HTML 代碼:<div class="dropdown">    <button class="btn btn-primary dropdown-toggle" type="button" data-     toggle="dropdown">Dropdown Example    <span class="caret"></span></button>    <ul class="dropdown-menu vendorDropdown">    </ul></div>這是我的腳本標簽:<script>fetch('vendorName.json').then(res => res.text()).then(item => {    let items = JSON.parse(item)    let output    console.log(items)    items.vendor_name.map(item => {        output += `        <li>        ${item}        </li>        `    });    $('.vendorDropdown').append(output)})</script>這是我在下拉值中的最終輸出:undefinedUser 1User 2User 3
查看完整描述

3 回答

?
胡說叔叔

TA貢獻1804條經(jīng)驗 獲得超8個贊

您是否嘗試初始化output為空字符串 `` 而不是簡單地聲明它 (henc undefined)?


查看完整回答
反對 回復 2021-08-26
?
楊魅力

TA貢獻1811條經(jīng)驗 獲得超6個贊

問題是您要附加到名為output. output最初的值為undefined,這就是為什么您會在結(jié)果字符串中看到它(在追加之后)。要規(guī)避此問題,您可以更改此行:


let output;


對此:


let output = '';


或者,您可以執(zhí)行類似于下面的操作,其中我使用了mapandjoin而不是附加到自變量。我用setTimeout包裹在 a 中Promise來模擬fetch調(diào)用


const ulEl = document.querySelector('.vendorDropdown');


const simulateFetch = () => {

  ulEl.innerHTML = 'Fetching JSON. Please wait..';


  //Mock data

  const json = {

    "vendor_name": ["User 1", "User 2", "User 3"]

  };


  //Promise resolves some JSON data

  return new Promise((resolve, reject) => {

    setTimeout(() => resolve(json), 1500);

  });

};



document.querySelector('button').addEventListener('click', () => {

  simulateFetch().then(json => {

      //Create the HTML and append it to the ul

      const liEls = json['vendor_name'].map(vendor => `<li>${vendor}</li>`);

      ulEl.innerHTML = liEls.join(' ')

    })

    .catch(err => console.error(err));

});

<div class="dropdown">

  <button class="btn btn-primary dropdown-toggle" type="button" data- toggle="dropdown">Dropdown Example

    <span class="caret"></span></button>

  <ul class="dropdown-menu vendorDropdown">

  </ul>

</div>


查看完整回答
反對 回復 2021-08-26
?
素胚勾勒不出你

TA貢獻1827條經(jīng)驗 獲得超9個贊

您初始化的方式output是創(chuàng)建一個空元素。相反,最好用空字符串之類的東西初始化它,然后添加您的值。

let output = ""; 會做。


查看完整回答
反對 回復 2021-08-26
  • 3 回答
  • 0 關注
  • 231 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網(wǎng)微信公眾號