首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >对同一型号使用ASP-FOR两次

对同一型号使用ASP-FOR两次
EN

Stack Overflow用户
提问于 2018-11-01 13:24:26
回答 1查看 658关注 0票数 1

我有一个任务,如果“美国”是在国家下拉列表中被选中的,我必须为美国各州执行下拉列表。

为此,我实现了两个控件:非us状态的textbox和美国状态的下拉列表。

代码语言:javascript
复制
        <input class="form-control" type="text" asp-for="BIS232Request.JSONData.RequestingOrg.State" />
        <select class="form-control" asp-for="BIS232Request.JSONData.RequestingOrg.State" id="HeadquartersState"></select>
        <span asp-validation-for="BIS232Request.JSONData.RequestingOrg.State" class="alert-danger"></span>

但是,状态只有一个模型属性。

代码语言:javascript
复制
[Required]
[DisplayName("State")]
public string State { get; set; }

如何引用和正确验证文本框和下拉列表的状态计算

非常感谢您的帮助!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-11-01 13:33:19

问题很简单,输入和select的值都是被提交的,其中一个总是覆盖post数据中的另一个。您需要添加一些JavaScript来根据国家禁用其中一个或另一个。如果输入或select具有disabled属性,它将不会发布其值,只留下另一个的值。

代码语言:javascript
复制
$('[name$=Country]').on('change', function () {
    if ($(this).val() === 'US') {
       $('select[name$=State]').removeAttr('disabled');
       $('input[name$=State]').attr('disabled', true);
    } else {
       $('input[name$=State]').removeAttr('disabled');
       $('select[name$=State]').attr('disabled', true);
    }
});
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53102235

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档