将值/文本设置为下拉列表

时间:2019-03-10 19:25:46

标签: javascript jquery

我正在使用以下jquery postcode lookup,并且尝试推送值并使用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-一个下拉列表,然后呈现并出现..我认为这就是为什么它不适用于我所需的下拉列表,因为当页面已加载,这是按下按钮的时间

1 个答案:

答案 0 :(得分:1)

假设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;
  }
}