Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/366.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 无法附加带有静态选项的下拉列表_Javascript_Jquery_Razor - Fatal编程技术网

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

Javascript 无法附加带有静态选项的下拉列表,javascript,jquery,razor,Javascript,Jquery,Razor,我的Razor视图引擎中有以下脚本:- else if ($("#ChoiceTag").prop("checked")) { $.getJSON("@Url.Content("~/Switch/LoadCSTag")", function (CSData) { var select = $("#GeneralCSID");

我的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函数运行后,会在下拉列表中附加该选项,但当前将在下拉列表的开头显示一条空记录,而不是文本。 有人能告诉我可能有什么问题吗? 谢谢

这是您在selectlist中添加的虚拟选项

但您从未指定该项目上应显示的文本。您可以使用与已设置项的文本属性完全相同的方式进行设置,根据您的注释,下面的项已正确加载

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

我不知道你说的文字是什么意思。你的意思是把字符串作为静态选项的文本吗?我用选择一个选项。。。例如,您可以选择所需的任何字符串。

您能再次解释一下您要查找的内容吗?我想在下拉列表的开头显示以下文本list@johnG:如果要在开头而不是结尾,请使用prepend而不是append。其次,只有在执行getJSON调用时,才会进行追加或预结束。你确定你正在对后端进行调用吗?否则,您的选择列表将保持为空,除非它在页面加载中有一些默认内容,但目前我在任何地方都没有收到文本,而且我正在恢复一个空选项。谢谢您的回复,我的下拉列表类型为int,当我添加value&text时,我开始收到以下错误:General d必须是一个数字,以防我没有选择任何值。。不确定是什么导致了这个问题。但是如果我将值从null改为它,它会很好地工作,你能告诉我,为什么我会出现这种行为吗?一般d必须是一个数字。据我所知,这不是默认的javascript/jquery错误消息。这是开发人员选择抛出该消息的客户端验证,或者另一个框架,要求selectlist的选定值可以强制转换为int。General d必须是一个数字,以防我没有选择任何值==>来确认我的怀疑,即检查selectlist的选定值是否有效,并在不有效时抛出该错误。我没有关于应用程序其余部分的信息,因此很遗憾,我无法在这方面帮助您。是的,此错误是从实体框架生成的,但是很长?应接受空字符串,但不接受空字符串。。这是我无法理解的。但是,如果你需要进一步的帮助,请用另一个问题来提问。原来的问题已经解决,新问题将需要更多关于MVC后端的信息,以及如何处理控制器方法中发布的值。
displayed at the beginning of the drop down list, instead of the "<options>" text