Как передать выбранное значение из выпадающего списка в текстовое поле, используя mvc5 с таким же видом? - PullRequest
0 голосов
/ 17 декабря 2018

Я новичок в mvc. Как новичок, я пытаюсь передать раскрывающееся значение из DropdownList в текстовое поле в том же виде с помощью нажатия кнопки.Я делаю кодно не работает.Я могу заполнить данные в выпадающем списке, но на самом деле отправить событие изменения не работает.как я могу преодолеть проблему.Вот мое изображение Dropdownlist to textbox

My Dropdown.cshtml Просмотреть код здесь -

@model LoginForm.Models.UserModel

@{
                ViewBag.Title = "Dropdown";
}

<h2>Dropdown List</h2>

<div class="form-horizontal">

</div>

@using (Html.BeginForm("Dropdown", "Home", new { ReturnUrl = ViewBag.ReturnUrl }, FormMethod.Post, new { @class = "form-horizontal", role = "form" }))
{
    @Html.AntiForgeryToken()


    <div class="form-group" style="padding-top:50px">
        @Html.LabelFor(model => model.UserName, new { @class = "control-label col-md-2" })
        <div class="col-md-10">
            @(Html.DropDownList("DropdowenList", new SelectList(ViewBag.AllNameList, "CustomerId",
                                                                                "UserName", 0), "Select ...", new { @class = "form-control" }))

        </div>
    </div>


    <div class="form-group">
        <div class="col-md-offset-2 col-md-10">
            <input type="submit" value="Submit" class="btn btn-default" />
            <br />
            <br />
            @Html.TextBox("txtName")

        </div>
    </div>

}

    <script type="text/javascript">
        $(function () {
            $('#DropdowenList').change(function () {
                var selectedValue = $(this).val();
                $('#txtName').val(selectedValue);
            });
        });
    </script>

Мой код HomeCoontroller.Cs здесь -

 [AllowAnonymous]
    public ActionResult Dropdown(string returnUrl)
    {
        ViewBag.Flag = true;
        DropdowncCass dp = new DropdowncCass();
        var allName = dp.GetUserInfo();
        ViewBag.AllNameList = allName;
        Session["allName"] = allName;
        ViewBag.ReturnUrl = returnUrl;
        return View();

    }

1 Ответ

0 голосов
/ 17 декабря 2018

Вы можете обработать событие click кнопки отправки, чтобы достичь своей цели, и использовать селектор option:selected с функцией text(), чтобы установить значение текстового поля из выбранного элемента раскрывающегося текста:

$(function () {
     $('.btn').click(function (e) {
         e.preventDefault();
         var selectedValue = $("#DropdowenList option:selected").text();
         $('#txtName').val(selectedValue);
     });
});

e.preventDefault()здесь необходимо, потому что вы используете BeginForm помощник, который отображает тег <form> и функцию, полезную для предотвращения поведения отправки кнопки по умолчанию, которое отправляет форму обратно в действие контроллера.

Эта скрипка содержит рабочий пример, иллюстрирующий желаемое поведение.

...