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

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

如何在選擇新選項(xiàng)后立即更改 html 元素的文本內(nèi)容?

如何在選擇新選項(xiàng)后立即更改 html 元素的文本內(nèi)容?

月關(guān)寶盒 2023-09-28 16:43:06
當(dāng)在 Javascript 中選擇新選項(xiàng)時(shí),我試圖更改 span 元素。這是html代碼:<span id="month"></span>(...)<option id="plan_option".....這是我的 javascript 代碼,當(dāng)前僅在頁面加載時(shí)顯示文本:window.onload = function month_freq() {          var id = document.getElementById("plan_option").value;          var freq = '';          if (id == 5144746){            freq = 'ogni mese';          } else{            freq = 'ogni due mesi';          }          document.getElementById("month").innerHTML = freq;        }那么,我應(yīng)該創(chuàng)建一個(gè)在選項(xiàng)更改或 idk 時(shí)調(diào)用的新函數(shù)嗎?任何幫助表示贊賞,謝謝!
查看完整描述

2 回答

?
墨色風(fēng)雨

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

人們只想聽一個(gè)選擇元素的變化。


因此,人們需要以某種方式識(shí)別這個(gè)特定的選擇元素,而不是它的每個(gè)選項(xiàng)元素。后者不需要具有name- 或id- 屬性,而是需要 -value屬性。


然后,我們會(huì)實(shí)現(xiàn)一個(gè)事件處理程序,該處理程序會(huì)讀取當(dāng)前所選選項(xiàng)的值,并將該值寫入所需/相關(guān)的 html 元素。


還需要為前面提到的 select 元素提供事件偵聽/處理。


此外,我們希望在加載/渲染時(shí)將默認(rèn)選定值與顯示元素同步。


筆記


出于安全原因,人們并不真正希望通過innerHTML...呈現(xiàn)文本值,在這種情況下,textContent寫訪問就可以很好地完成這項(xiàng)工作。


function handleMonthOptionChangeForRelatedDisplay(evt) {


  const elementDisplay = document.querySelector('#month');

  const elementSelect = evt.currentTarget;


  if (elementDisplay && elementSelect) {


    const elementSelect = evt.currentTarget;

    const selectedIndex = elementSelect.selectedIndex;


    elementDisplay.textContent = elementSelect[selectedIndex].value

  }

}


function initMonthOptionChange() {

  const elementSelect = document.querySelector('#month-options');

  elementSelect.addEventListener('change', handleMonthOptionChangeForRelatedDisplay);

}


// window.onload = function () {

//   handleMonthOptionChangeForRelatedDisplay({

//     currentTarget: document.querySelector('#month-options')

//   });

//   initMonthOptionChange();

// }


handleMonthOptionChangeForRelatedDisplay({

  currentTarget: document.querySelector('#month-options')

});

initMonthOptionChange();

<select name="plan_option" id="month-options">

  <option value=""></option>

  <option value="Ogni Mese">ogni mese</option>

  <option value="Ogni due Mesi" selected>ogni due mesi</option>

</select>


<p id="month"></p>

如果OP必須呈現(xiàn)與選項(xiàng)元素的屬性不同的特定于選項(xiàng)的文本值,value仍然可以通過特定于選項(xiàng)的data屬性提供此信息的方法,以便使處理程序?qū)崿F(xiàn)保持通用(沒有任何額外的和特定情況的比較邏輯)盡可能......


function displayBoundBillingFrequency(evt) {


  const elementSelect = evt.currentTarget;

  if (elementSelect) {


    const selectedOption = elementSelect[elementSelect.selectedIndex];


    // `this` equals the bound billing-frequency display-element.

    this.textContent = (selectedOption.dataset.billingFrequency || '');

  }

}


function mainInit() {


  const planOptions = document.querySelector('#plan-options');

  const frequencyDisplay = document.querySelector('#plan-billing-frequency');


  if (planOptions && frequencyDisplay) {


    const displayBillingFrequency = displayBoundBillingFrequency.bind(frequencyDisplay);


    // synchronize display data initially.

    displayBillingFrequency({

      currentTarget: planOptions,

    });


    // initialize event listening/handling

    planOptions.addEventListener('change', displayBillingFrequency);

  }

}


mainInit();

<select name="plan_option" id="plan-options">

  <option value=""></option>

  <option value="541758" data-billing-frequency="ogni mese" selected>First Option</option>

  <option value="752649" data-billing-frequency="ogni due mesi">Second Option</option>

  <option value="invalid">Invalid Option</option>

</select>


<p id="plan-billing-frequency"></p>


查看完整回答
反對 回復(fù) 2023-09-28
?
湖上湖

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

您應(yīng)該檢查HTMLElement:change 事件

var planSelectElem = document.getElementById("plan_select"); // <select id="plan_option_select"></select>


planSelectElem.onchange = month_freq;


// OR


planSelectElem.addEventListener("change", month_freq);


查看完整回答
反對 回復(fù) 2023-09-28
  • 2 回答
  • 0 關(guān)注
  • 127 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號(hào)

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