4

イベント登録用のアンケートをまとめています。

eventr 登録に関する質問の 1 つは次のとおりです。

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 get は、上で選択された項目によって設定されます。しかし、コントローラーで、選択したアイテムが「その他」の場合、それをオーバーライドしてビューのテキストボックスに置き換えるにはどうすればよいでしょうか?

これは以前に何度も行われたと思います-だから、助けてくれてありがとう、

マーク

4

1 に答える 1

2

多くのアプローチの1つはこれです:

意見:

  <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 に答える