我有一个选择框,其中填充了它可以拥有的所有可用选项。当用户单击我的应用程序中的记录时,我会得到一个xml响应,其中包含该记录的选项值。我想使用javascript在选择框中为该特定选项设置所选索引,而无需重新加载选择框。是否有一种简单的方法可以根据选项的值或名称查找选项的索引?然后,我可以将该选项设置为选定的索引。
答案 0 :(得分:3)
我是第二个托比的回答。尽管如此,如果由于某种原因你不能使用现有的库,那么用简单的javascript就可以了:
function selectByValue(el, value) {
for (var i=0, len=options.length; i<len; i++) {
if (el.options[i].value == value) {
el.selectedIndex = i;
break;
}
}
}
如果您想要使用该选项的文字,请将.value
替换为.text
。我假设您的意思是“文本”,因为选择选项没有“名称”属性。
答案 1 :(得分:1)
这将非常接近:
function find_index(options, value) {
for (var i=0; i<options.length; i++) {
if (options[i].value == value) {
return i;
}
}
return -1
}
function set_selected_option(select_element, value) {
var index = find_index(select_element.options, value)
if (index != -1){
select_element.selectedIndex = index;
}
}
答案 2 :(得分:0)
我建议看一下像jQuery或Prototype这样的JS库。他们使这种事情变得容易。