4

我正在整理问卷以注册活动。

eventr注册问题之一是:

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 由上面的选定项目填充。但是在我的控制器中,如果它是“其他”,我将如何覆盖所选项目并将其替换为视图上的文本框?

我敢肯定这已经做过很多次了——所以谢谢你的帮助,

标记

4

1 回答 1

2

许多方法中的一种是这样的:

看法:

  <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);
}
于 2012-10-02T14:08:59.487 回答