【问题标题】:Unable to set Dropdown selected value in Form Submit MVC无法在表单提交 MVC 中设置下拉选择值
【发布时间】:2018-05-11 23:56:23
【问题描述】:

我正在尝试将选定的选项绑定为 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");

如何做到这一点.. 谁能帮我解决这个问题?

【问题讨论】:

  • 这段代码是否按预期成功修改了DOM?什么是相关的 HTML? “形式”是什么?它是如何“提交”的?是否将值发送到服务器?问题具体出在哪里?

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


【解决方案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 是提交表单后的下拉值。

【讨论】:

    【解决方案2】:

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

    类似

    $('select[name^="Languages"]).val(name);

    你也可以像这样得到你的选择

    $("[name='Languages']").val(name);

    我假设您获取数据并在完成后设置值。如果您只是对数据执行 get 并立即执行 set,则在您尝试设置值之前可能不会加载数据。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-07-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多