如何在jquery中设置选定的值

时间:2013-11-06 09:46:47

标签: jquery drop-down-menu

这是我的选择元素:

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());

我的itembox很好。但是当我点击列出的所有项目时,它似乎是空的第一个加载我希望第一个元素在列表中被选中

你能帮助我吗

3 个答案:

答案 0 :(得分:0)

更改以下行(至此):

options += "<option value=\"" + result.Projects[a].Id + "\"" + ((!a) ? ' selected' : '') + ">" + result.Projects[a].PRJ_Name + "</option>";

答案 1 :(得分: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;
}

答案 2 :(得分:0)

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

将第一个元素的值设为“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");

要填写select元素中的选项,请使用此

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

并在填充select元素后使用此

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