javascript - 将值/文本设置为下拉列表
问题描述
我正在使用以下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- 下拉列表然后呈现并出现.. 我认为这就是为什么它不适用于我想要的下拉列表,因为它没有加载加载页面时,即按下按钮时
解决方案
如果它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;
}
}
推荐阅读
- mysql - mysql select查询与两列的sum和group by
- r - 如何从与数据框中其他列的最大值对应的列中检索值
- image - 在 Flutter 中将 CameraImage 转换为 ui.Image
- jenkins - 如何正确使用 Jenkins Warnings Next Generation Plugin 的三个步骤?
- html - .htaccess 用于内容语言
- python - 我可以通过 Buildozer 从 opencv-contrib-python 导入类以进行人脸识别吗?
- python - 如何通过视图在路径中插入 django 用户的用户名?
- c# - 缺少类型“字符”使用指令或程序集参考-SharpFont/Freetype
- angular - angular cli 必须使用 import 加载 ES 模块
- django - 无法查询“”:必须是“”实例