以下代码在加载页面之前触发。现在我已经设法用值填充选择。但我不确定如何使第一个值成为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中出现的默认选项。
答案 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;
的参数
var newOption = new Option(university.Name, university.UniverstiyID, true, true);