jquery 将组合框选定值转换为Javascript

mrzz3bfm  于 2022-11-03  发布在  jQuery
关注(0)|答案(1)|浏览(194)

在我的ASP.NETMVCWeb应用程序中,我使用视图包将一些数据从控制器发送到组合框。
在视图中,当组合框的值发生变化时,有一个javascript,我使用 AJAX 调用再次将该值发送到控制器,并获取相关数据,然后在另一个文本框中显示它。

ViewBag.Task_Assigned_Branch_Id = new SelectList(db.Branch.Where(x=>x.Status ==true), "Id", "BranchName");

检视

<div class="form-group row">
   @Html.LabelFor(model => model.Task_Assigned_Branch_Id, htmlAttributes: new { @class = "control-label col-md-3" })
    <div class="col-sm-8">
      @Html.DropDownList("Task_Assigned_Branch_Id", null, "Select the Branch", new { @class = "form-control js-dropdown js-Branch", @Id = "Branch" })
      @Html.ValidationMessageFor(model => model.Task_Assigned_Branch_Id, "", new { @class = "text-danger" })
    </div>
</div>

Javascript语言

$('.js-Branch').change(function () {
            GetBranchMembers($(this).val())
  });

这一招非常有效。
然后我想改变它,当发送数据到视图包,我想选择一个默认值到组合框,并将其发送到视图。
所以我把控制器代码改成了

ViewBag.Task_Assigned_Branch_Id = new SelectList(db.Branch.Where(x=>x.Status ==true), "Id", "BranchName", branchId);

现在,该值将作为组合框中的默认选定值加载。
为了在加载事件中获取组合框的值,我编写了以下代码

$(document).ready(function ()
    {

        var e = document.getElementById("js-Branch");
        alert(e);
        GetBranchMembers(e)

    })

id返回空值。
我猜是因为我把默认值发送给了组合框,所以它没有把id传递给脚本或者其他什么东西。有没有其他的方法可以做到这一点?

6pp0gazn

6pp0gazn1#

请尝试使用以下代码。我认为您使用了错误的id。您在getElementbyId函数中使用了类名

$(document).ready(function ()
    {

        var e = document.getElementById("Branch");
        alert(e);
        GetBranchMembers(e)

    });

相关问题