我正在整理一个问题,以便注册一个活动.
其中一个注册问题是:
What is your main job function?
Director/MD/Owner
Manager
Team Leader
Other: Please state
我希望这在我的视图中显示为下拉框或单选按钮列表,但也可以在“其他”单选按钮下方或旁边显示文本框,以便可以输入自由形式的“其他”作业功能.我如何在我的视图中绑定它?
我怀疑我的模型将包含:
[Display(Name = "What is your main job function?")]
public string JobFunction { get; set; }
…其中JobFunction由上面的选定项填充.但是如果在我的控制器中,我是否会覆盖所选项目,如果它是“其他”并将其替换为视图上的文本框?
我确信之前已经做了很多次 – 所以谢谢你的帮助,
标记
最佳答案 很多人的一种方法是:
视图:
<div id="sample-dropdown">
<select name="JobFunction " id="JobFunction" class="dropdown">
<option value="Director/MD/Owner">Director/MD/Owner</option>
<option value="Manager">Manager</option>
<option value="Team Leader" selected="selected">Team Leader</option>
<option value="Other">Other: Please state</option>
</select>
<input name="JobFunctionOther" id="JobFunctionOther" />
</div>
<script type="text/javascript">
$('input[name="JobFunctionOther"]').hide();
$(function() {
$("#JobFunction").change(
function() {
var val = $(this).val();
if (val =='Other') {
$('input[name="JobFunctionOther"]').show();
} else {
$('input[name="JobFunctionOther"]').hide();
}
}).change();
});
</script>
控制器:
public ActionResult DropDown(string jobFunction, string jobFunctionOther)
{
if (!string.IsNullOrEmpty(jobFunctionOther)) jobFunction = jobFunctionOther;
//do what you do
return View(jobFunction);
}