Jquery级联下拉列表,如果返回1个结果,则设置所选项目

时间:2014-09-18 16:11:38

标签: jquery asp.net-mvc cascadingdropdown

我在页面上有许多级联的jquery下拉列表。我通过我的控制器中的mvc动作操作填充它们的每个更改事件。

一切正常,但是如果下拉列表只返回一行(见图)。用户希望默认选择此项目,而不必自己选择它。否则,他们希望它默认选择,并且必须从更大的列表中选择它。 enter image description here

这是我的Jquery,我想当我在迭代结果函数时,我可以检查它是否有一行,如果是这样,则将其设置为所选值。然而,我的脚本很糟糕,我厌倦的一切都没有用。任何帮助将不胜感激。

    $("#ddlAddProject").change(function () {
    var projectId = $(this).val();
    $.getJSON("../Home/LoadSubprojectsByProjectId", { projectId: projectId
    },
           function (marksData) {
               var select = $("#ddlAddSubProject");
               select.empty();
               select.append($('<option/>', {
                   value: 0,
                       text: "Choose..."
               }
               ));

               $.each(marksData, function (index, itemData) {
                   select.append($('<option/>', {
                           value: itemData.Value,
                           text: itemData.Text
                   }));


           });

});

1 个答案:

答案 0 :(得分:0)

如果只有一个,则将selected属性设置为true。

if (marksData.length===1) {
    //select.find("option:last").prop("selected",true);
    select.find("option").last().prop("selected",true);
}