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

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

如何根據頁面加載時的 URL 參數自動選擇 <select> 下拉列表的值?

如何根據頁面加載時的 URL 參數自動選擇 <select> 下拉列表的值?

慕妹3242003 2023-10-04 15:51:21
我目前正在一個網站上工作,在“日程表”頁面上顯示的任何事件上單擊“注冊”都會進入注冊頁面,其中下拉列表將根據<select>網址末尾的參數自動選擇一個值。但是,我很難確保實際選擇具有基于這些參數的值的選項。單擊“注冊”按鈕后,盡管 URL 末尾存在參數,但注冊頁面上的下拉列表不會顯示任何文本。直播網址: brain-train.com.ph/schedules。(在該頁面的下拉菜單中選擇任何內容,然后單擊任何“注冊”按鈕。)JS:$.urlParam = function(name){    var results = new RegExp('[\?&]' + name + '=([^&#]*)').exec(window.location.href);    return results[1] || 0;}var service = $.urlParam('service');var batch = $.urlParam('batch');var appendURL = '?service=' + service + '&batch=' + batch;var selectValue = $('.page-enroll .info').data('value');if ( service !== undefined && batch !== undefined ) {    $('.page-enroll select[name="batch"]').val(service + '-' + batch);}
查看完整描述

2 回答

?
繁星淼淼

TA貢獻1775條經驗 獲得超11個贊

由于您在這里處理的是<option>a 的 s <select>,因此您需要將所選屬性分配所選屬性。

其次,由于您正在處理<option>s,因此將調用該屬性value而不是val。(如果您提交了,這一點很重要<form>

所以,你的代碼將是這樣的:

jQuery('.page-enroll select[name="batch"] option[val="' + service + '-' + batch + '"]').attr("selected", true)

在您的網站上進行了測試:-)

其他一些小建議:通過使用,location.search您可以只閱讀后面的部分?(也許可以保存一些正則表達式,例如通過拆分&=)。


查看完整回答
反對 回復 2023-10-04
?
MMMHUHU

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

  1. 您需要有value自己的選擇 - 不需要難以檢索的數據屬性

  2. 如果你有價值,這也會起作用并替換 $.urlParam

如果你沒有價值(這沒有任何意義),你需要選擇選項,attr("val")但這非常難看

const parms = new URLSearchParams("?service=enrichment&batch=QC1"); // this will be location.search

$(function() {

  const value = parms.get("service")+"-"+parms.get("batch");

  $("[name=batch]").val(value); // sets the value attribute! val is the jQuery method

  

  // why you do not need data-attributes on the options:

  

  $("[name=batch]").on("change",function() {

    const [service, batch] = this.value ? this.value.split("-") : ["",""];

    console.log(service,batch);

  })

})

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

<select name="batch">

  <option selected="" disabled="">Preferred venue and batch</option>

  <option disabled="">Grade VI Math Enrichment Program</option>

  <option value="enrichment-SR1">Sta. Rosa, Laguna ? Batch 1</option>

  <option value="enrichment-QC1">Quezon City ? Batch 1</option>

  <option value="enrichment-LB2">Los Ba?os, Laguna ? Batch 2</option>


  <option disabled="">High School Entrance Test Review</option>

  <option value="hset-LB1">Los Ba?os, Laguna ? PSHS + UPRHS Review – LB1</option>

  <option value="hset-SR1">Sta. Rosa, Laguna ? PSHS + UPRHS Review – SR1</option>

  <option value="hset-SR2">Sta. Rosa, Laguna ? PSHS + UPRHS Review – SR2</option>

</select>


查看完整回答
反對 回復 2023-10-04
  • 2 回答
  • 0 關注
  • 155 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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