无法附加带有静态选项的下拉列表

时间:2014-05-14 10:09:07

标签: javascript jquery razor

我的Razor视图引擎中有以下脚本: -

else if ($("#ChoiceTag").prop("checked")) {
                    $.getJSON("@Url.Content("~/Switch/LoadCSTag")",
                    function (CSData) {
                        var select = $("#GeneralCSID");
                        select.empty();
                        select.append($("<option/>", {
                            value: null
                        }));
                        $.each(CSData, function (index, itemData) {

                            select.append($('<option/>', {
                                value: itemData.Value,
                                text: itemData.Text
                            }));
                            select.val('@Model.Switch.ConsoleServerID');
                        });
                    });
                }

我期待一旦Jquery函数运行,在下拉列表中附加"<option/>"选项,但是当前空记录将显示在下拉列表的开头,而不是{{1} }文字。 任何人都可以建议可能是什么问题? 感谢

1 个答案:

答案 0 :(得分:1)

select.append($("<option/>", {
   value: null
}));

这是您在选择列表中添加虚拟选项。

但您从未指定该项目上应显示的文字。你可以设置它与你已经设置下面项目的文本属性完全相同(根据你的评论,已经正确加载)

select.append($("<option/>", {
   value: "", //I prefer an empty string, not sure if null is valid
   text: "Select an option..."
}));

<强>更新

你的引言:

displayed at the beginning of the drop down list, instead of the "<options>" text

我不知道"<options>" text你的意思。你的字面意思是将字符串<options>作为该静态选项的文本吗?我使用"Select an option..."作为示例,但您可以选择任何所需的字符串。