无法在表单提交MVC中设置Dropdown选定值

时间:2017-11-28 13:41:50

标签: c# jquery html json model-view-controller

我正在尝试将所选选项绑定为jquery中的下拉选择值。 我通过json绑定下拉选项后这样做。 表单提交后,我无法选择下拉选项。

Binding Dropdown Options:

$.getJSON('@System.Web.Configuration.WebConfigurationManager.AppSettings["BaseURL"]/Home/GetLanguages', function (authors) {
                $.each(authors, function (index, author) {
                    $('#ddlLanguages').append(
                        $('<option/>')
                            .attr('value', author.LanguageKey)
                            .text(author.LanguageKey)
                    );
                });
            });

jquery to set the value

$('select[name^="Languages"] option[value='+name+']').attr("selected", "selected");

如何做到这一点..任何人都可以帮助我吗?

2 个答案:

答案 0 :(得分:1)

我找到了解决方案。我们可以在绑定选项时执行此操作,而不是在绑定选项后设置下拉列值。

这是解决方案。

$.getJSON('@System.Web.Configuration.WebConfigurationManager.AppSettings["BaseURL"]/Home/GetLanguages', function (authors) {
            $.each(authors, function (index, author) {
                if ('@SelLang' == author.LanguageKey)
                {
                    $('#ddlLanguages').append(
                        $('<option/>')
                            .attr('value', author.LanguageKey).attr('selected','selected')
                            .text(author.LanguageKey)

                    );
                }
                else{
                    $('#ddlLanguages').append(
                       $('<option/>')
                           .attr('value', author.LanguageKey)
                           .text(author.LanguageKey)

                   );
                }
            });
        });

此处@SelLang是提交表单后的下拉值。

答案 1 :(得分:0)

难道你不能简单地设置选择的值吗?

这样的东西
  

$(&#39;选择[名称^ =&#34;语言&#34;])VAL(名称);

你也可以像这样选择

  

$(&#34; [名称=&#39;语言&#39;]&#34)。VAL(名称);

我假设你得到了数据,完成后你就设定了数值。如果您只是为数据执行get并立即执行set,则在尝试设置值之前可能无法加载数据。

尝试将此添加为评论,但在移动应用上,它只允许我15个字符?