如何在下拉列表中选中复选框,选择MVC3中的索引更改?

时间:2012-09-05 14:41:17

标签: asp.net-mvc-3 checkbox html-select

我所有的应用程序..管理员将Projetcs分配给员工 所以我的屏幕看起来像这样 我有三个名为[Projects],[Employees],[AssignedWork]的Db表。我正在做的是我将所有项目绑定到DropDwon并将所有Employees名称绑定到CheckBox动态 这就是我在做的事情

          <div ><a >Project Name : </a><%:Html.DropDownList("Projects")%></div>   

     <div  class="scrool_main" >         
      <% foreach (var item in Model)
         { %>  
             <br />
              <%:Html.CheckBox("EmployeId", new { value = item.EmployeeID, @class = "employeeCheckBox" })%>
              <%:Html.LabelForModel(item.EmployeeName)%>                 
      <%} %> 
       </div>            
        <% if (TempData["notice"] != null) { %>
      <p><label id="msgtext" >Inserted Successfully !!!!</label></p>
      <% } %>        
       </div>     

这就是我在下拉更改时调用控制器方法的方法

   <script type="text/javascript">
    $(document).ready(function () {
        $("#Projects").change(function () {
            alert(1);
            var project = document.getElementById("Projects");
            var SelProj = project.options[project.selectedIndex].value;
            alert(SelProj);
            if (SelProj != "") {
                alert("hi");
                var PorjectId;
                $.ajax({
                    type: "POST",
                    url: '<%= Url.Action("GetAssignedWork","Project") %>',
                    enctype: 'multipart/form-data',
                    data: {ProjectId:SelProj}
                })
            }
        });
    });
</script>

这是我的控制器动作

   [AcceptVerbs(HttpVerbs.Post)]
    public ActionResult GetAssignedWork(string ProjectId)
    {
        ViewBag.Projects = new SelectList(GetProjects(), "ProjectId", "ProjectName");
        var EmployeeList = new List<ResourceModel>();
        using (SqlConnection conn = new SqlConnection(connString))
        {
            conn.Open();
            SqlCommand dCmd = new SqlCommand("select EmployeID from AssignedWork where ProjectID='" + ProjectId + "'", conn);
            SqlDataAdapter da = new SqlDataAdapter(dCmd);
            DataSet ds = new DataSet();
            da.Fill(ds);
            conn.Close();
            for (int i = 0; i <= ds.Tables[0].Rows.Count - 1; i++)
            {
               //need help here for getting the checkbox checked
            }                
            return View("AssignWork",EmployeeList);
        }
    }

所以我想要的是,如果管理员从所选索引的下拉列表中选择项目,则应检查先前已分配给该项目的员工.i表示应该检查已分配给项目的员工...所以如何我应该这样做吗

1 个答案:

答案 0 :(得分:0)

  

用于空白和“启动”版本的Visual Studio模板   MVC提供了一个包含jQuery的Scripts目录。 -   Reference

包括它 -

<script src="../../Scripts/jquery-1.4.1.min.js" type="text/javascript"></script> 

$(function(){
    $('#Projects').change(function(){
      var isChecked = $('#EmployeId').is(':checked');
    });
});