0

这是我的选择元素:

function retrieveProjects() {
    var returnValue = "";

    // some code...

    if (result.Passed) {
        var options = "";
        for (var a = 0; a < result.Projects.length; a++){
            options += "<option value=\"" + result.Projects[a].Id + "\">" + result.Projects[a].PRJ_Name + "</option>";
        }
        returnValue = options;
        debugger;
    }
});

return returnValue;
}

$("#ddmoduleid").empty().append(retrieveProjects());

我的物品箱装满了。但是当我单击列出的所有项目时,第一次加载似乎是空的。我希望第一个元素在列表中被选中

你能帮助我吗

4

3 回答 3

0

更改以下行(为此):

options += "<option value=\"" + result.Projects[a].Id + "\"" + ((!a) ? ' selected' : '') + ">" + result.Projects[a].PRJ_Name + "</option>";
于 2013-11-06T09:50:58.820 回答
0
if (result.Passed) {
    var options = "";
    options += "<option value=\"" + result.Projects[0].Id + " selected='selected'\">" + result.Projects[0].PRJ_Name + "</option>";
    for (var a = 1; a < result.Projects.length; a++){
        options += "<option value=\"" + result.Projects[a].Id + "\">" + result.Projects[a].PRJ_Name + "</option>";
    }
    returnValue = options;
    debugger;
}
于 2013-11-06T09:51:54.813 回答
0

用选项填充选择元素后,您可以尝试像这样设置值

将第一个元素的值设置为“0”或您想要的值,然后将其设置为.val()

$("#ddmoduleid").val('0');

或者你也可以试试这个

$("#ddmoduleid option:first").attr('selected', true);

或者你可以使用.prop()

$("#ddmoduleid option:first").prop('selected', true);

更新

首先使列表为空并像这样分配一个默认值

$("#ddmoduleid").get(0).options.length = 0;
$("#ddmoduleid").get(0).options[0] = new Option("Default value", "0");

对于填充选择元素中的选项,请使用此

 $.each(result.Projects, function (index, item) {
    $("#ddmoduleid ").get(0).options[$("#ddmoduleid ").get(0).options.length] = new Option(item.Text, item.Value);
 });

并在填充选择元素后使用这个

$("#ddmoduleid option:first").prop('selected', true);
于 2013-11-06T09:53:28.400 回答