0

我有一个动态生成的选择女巫,它看起来像这样

    <select id="elem">
        <option value="3">value 1</option>
        <option value="6">value 2</option>
        <option value="18">value 3</option>
        <option>value 4</option>
    </select>

最后一个选项没有价值。我正在尝试使用javascript进行选择以在加载页面时在第一个位置显示“值4”选项

这是我在javascript中尝试过的

    var elem = document.getElementById("elem"),
        selectedNode = elem.options[elem.selectedIndex];

    if ( selectedNode.value === "" ) {
        selectedNode.setAttribute('selected','');
    }

怎么做到呢 ?

4

2 回答 2

0

value指定no 时,value将是文本。您也可以使用它hasAttribute来检查value

var select = document.getElementById("elem");

for (var i = 0; i < select.options.length; i++) {
    if (!select.options[i].hasAttribute('value')) {
        select.options[i].selected = true;
    }
}

演示:http: //jsfiddle.net/tymeJV/682Ap/1/

于 2013-09-27T14:39:15.667 回答
0

几种方法来做到这一点。如果您需要先找到选项,代码将是这样的。它正在寻找具有非数值的选项-不幸的是,如果您省略该值,则该选项的文本将成为其值

var sel = document.getElementById("elem");
var index = 0;
for(var i = 0;i<sel.options.length;i++){
  if (isNaN(sel.options[i].value))
    index = i;
}

如果您知道索引,则可以将所选选项设置为

sel.selectedIndex = index;
于 2013-09-27T14:46:22.250 回答