亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

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

使用 Ajax 結果更新選擇選項元素

使用 Ajax 結果更新選擇選項元素

PHP
哈士奇WWW 2023-04-28 17:10:31
我有兩個選擇選項列表,其中包含從 db 檢索的值。<select id="userid" onchange="selSuj()"><option value="1" selected="selected">text1</option><option value="2">text2</option><option value="3">text3</option></select><select id="subject"><div id="determineSubj"><option value="1" selected="selected">text1</option><option value="2">text2</option><option value="3">text3</option></div></select><script>function selSuj(){   var x = $('#userid').val();   $.ajax({      type:'POST',      url:'same page url',      data:{        'userid':x      },      success: function(result){      document.getElementById("determineSubj").innerHTML = result;      }   })   ;}the first select option(userid),when option selected, should populate the corresponding values in the second select option(subject), using the user option value(eg 1,2,3) as search p.key to the subject db. 我試過使用 ajax,它在警報(結果)上運行良好,但不更新第二個選擇選項值。請幫忙。
查看完整描述

1 回答

?
守著星空守著你

TA貢獻1799條經驗 獲得超8個贊

Aselect不應包含<div>.


從這個簡短的演示中我們可以看出,這樣做會使 JavaScript 無法訪問 div,因為它不認為它是 DOM 的有效部分:


document.addEventListener("DOMContentLoaded", function() {

  console.log(document.getElementById("determineSubj"));

});

<select id="subject">

  <div id="determineSubj">

    <option value="1" selected="selected">text1</option>

    <option value="2">text2</option>

    <option value="3">text3</option>

  </div>

</select>

無論如何,即使它是有效的,對于您的目的來說也完全沒有必要。您可以直接更新元素的 HTML select。


將 HTML 更改為:


<select id="subject">

    <option value="1" selected="selected">text1</option>

    <option value="2">text2</option>

    <option value="3">text3</option>

</select>

以及“成功”回調:


success: function(result) {

  document.getElementById("subject").innerHTML = result;

}

而且不應該有任何問題。


查看完整回答
反對 回復 2023-04-28
  • 1 回答
  • 0 關注
  • 136 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號