如何使用Javascript通过选项的值在选择框中选择一个选项?

时间:2010-01-26 22:34:24

标签: javascript

我有一个选择框,其中填充了它可以拥有的所有可用选项。当用户单击我的应用程序中的记录时,我会得到一个xml响应,其中包含该记录的选项值。我想使用javascript在选择框中为该特定选项设置所选索引,而无需重新加载选择框。是否有一种简单的方法可以根据选项的值或名称查找选项的索引?然后,我可以将该选项设置为选定的索引。

3 个答案:

答案 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库。他们使这种事情变得容易。