首页 > 解决方案 > 将值/文本设置为下拉列表

问题描述

我正在使用以下jquery 邮政编码查找,我正在尝试在 javascript 中推送值和硬编码该过程。

我正在使用以下内容为邮政编码文本框提供有效的邮政编码,然后强制单击按钮以查找地址。

document.getElementById("idpc_input").value = "LL17 0PN";
document.getElementById('idpc_button').click();

到目前为止这有效,在此之后出现一个下拉列表,其 id 为“idpc_dropdown”,我正在尝试(在 javascript 或 jquery 中)选择一个选项

这是我所做的,但它不起作用

 var select = document.getElementById("idpc_dropdown");
 document.getElementById("idpc_dropdown").text = '2 Elwy Cottages Heol Esgob';

并且:

var desiredValue = "2 Elwy Cottages Heol Esgob"
var el = document.getElementById("idpc_dropdown");
for(var i=0; i<el.options.length; i++) {
  if ( el.options[i].text == desiredValue ) {
    el.selectedIndex = i;
    break;
  }
}

更新:让我解释一下流程和顺序,1- 输入邮政编码并按下按钮以查找我的地址 2- 下拉列表然后呈现并出现.. 我认为这就是为什么它不适用于我想要的下拉列表,因为它没有加载加载页面时,即按下按钮时

标签: javascriptjquery

解决方案


如果它i与您要选择的项目的索引相同,我会将下拉列表的value属性设置为该索引:

let el = document.getElementById("idpc_dropdown");
for(let i = 1; i <= el.options.length; i++) {
  if ( el.options[i].text == desiredValue ) {
    el.value = i; // here
    break;
  }
}

推荐阅读