我有一个包含国家/地区名称列表的下拉列表,当用户选择USA时,我会在另一个下拉列表中向他显示状态列表。 我可以执行此功能 - 类似于Populating Dropdownlist Using MVC2 Based On Another Dropdownlist (Cascading DropDownList)
但是如果用户选择其他国家/地区,我想向他显示一个文本框,以便他可以输入州名。
我该怎么做?有没有人在任何网站上看到过类似的内容?
任何帮助都将得到真诚的帮助
此致 ARNAB
答案 0 :(得分:0)
免责声明:我不是最新的ASP.NET MVC框架工具,所以我的默认方法可能比其他选项提供的手动更多。然而...
您可以做的是将文本框和下拉列表添加到页面并默认隐藏文本框。与此类似:
<div id="firstDropDown">
<!-- ASP.NET markup for the first dropdownlist -->
</div>
<div id="secondDropDown">
<!-- ASP.NET markup for the second dropdownlist -->
</div>
<div id="conditionalTextBox">
<!-- ASP.NET markup for the conditional textbox -->
</div>
<script type="text/javascript">
$(document).ready(function() {
$('#conditionalTextBox').hide();
});
</script>
从服务器的角度来看,所有控件都显示在页面上,服务器端代码不需要知道区别。然后,您将客户端事件附加到第一个下拉列表,以检查特定值并相应地显示/隐藏控件:
$('#<%= firstDropDownList.ClientID %>').change(function() {
// add logic here to compare $(this).val() with known values
// (populated from the server-side during view rendering of course)
// and if the value matches known values for changing the controls:
$('#secondDropDown').hide();
$('#conditionalTextBox').show();
});