如何选择选项对象作为默认值

时间:2013-02-02 17:18:06

标签: javascript json dom

以下代码在加载页面之前触发。现在我已经设法用值填充选择。但我不确定如何使第一个值成为deafault选择值。

$(document).on('pagebeforeshow', '#searchpage',
//This function is the whole function that runs when the pagebefore event occurs
function () {
    //This reads the universities from the api we created
    $.getJSON(AddressAccess + "Home/university/format/json",

    function (data) {
        //The data is sent back in a collection of objects. We need to extract each object and do relative operations
        for (var i = 0; i < data.length; i++) {
            var university = data[i];
            var SelectDropDown = document.getElementById("searchuniversity");
            var NewOption = new Option(university.Name, university.UniverstiyID);

            if (i == 1) {
                SelectDropDown.add(NewOption, Selected);
            } else {
                SelectDropDown.add(NewOption);
            }

        };
    });
});

现在,如果我使用SelectDropDown.add(NewOption,Selected);在select中只有一个选项作为选项,我想要的是让我的json数据中的第一个选项成为select中出现的默认选项。

2 个答案:

答案 0 :(得分:0)

selectedIndex的{​​{1}}设置为1:

SelectDropDown

如果您真的在讨论选项列表中的第一个选项,if (i == 1) { SelectDropDown.add(NewOption); SelectDropDown.selectedIndex = 1; } 应为0. selectedIndex元素的options数组基于零。

[编辑]根据您的评论:
也许select已包含空白选项。尝试:

select

答案 1 :(得分:0)

只需将defaultSelected property of the element设置为true:

var newOption = new Option(university.Name, university.UniverstiyID);
newOption.defaultSelected = true;

或使用Option constructor

的参数
var newOption = new Option(university.Name, university.UniverstiyID, true, true);