0

次のコードは、ページが読み込まれる直前にトリガーされます。これで、select に値を入力することができました。しかし、最初の値をデフォルトの選択値にする方法がわかりません。

$(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);で、選択のオプションとして1つのオプションのみを使用すると、jsonデータから読み取られる最初のオプションを選択に表示されるデフォルトのオプションにするだけです。

4

2 に答える 2

0

selectedIndexを1 に設定SelectDropDown:

if (i == 1) {
  SelectDropDown.add(NewOption);
  SelectDropDown.selectedIndex = 1;
}

オプション リストの最初のオプションについて本当に話している場合は、 selectedIndex0 にする必要があります。要素のoptions配列selectはゼロ ベースです。

[編集]あなたのコメントに基づいて:
おそらくselectすでに空白のオプションが含まれています。試す:

if (i < 1) {
  SelectDropDown.options.length = 0;
  SelectDropDown.add(NewOption);
  SelectDropDown.selectedIndex = 0;
}
于 2013-02-02T17:24:14.557 に答える