我有一个任务,如果“美国”是在国家下拉列表中被选中的,我必须为美国各州执行下拉列表。
为此,我实现了两个控件:非us状态的textbox和美国状态的下拉列表。
<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>但是,状态只有一个模型属性。
[Required]
[DisplayName("State")]
public string State { get; set; }如何引用和正确验证文本框和下拉列表的状态计算
非常感谢您的帮助!
发布于 2018-11-01 13:33:19
问题很简单,输入和select的值都是被提交的,其中一个总是覆盖post数据中的另一个。您需要添加一些JavaScript来根据国家禁用其中一个或另一个。如果输入或select具有disabled属性,它将不会发布其值,只留下另一个的值。
$('[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);
}
});https://stackoverflow.com/questions/53102235
复制相似问题