如何获取@html.Checkbox来更新@html.dropdownList

时间:2015-04-14 18:09:02

标签: javascript jquery html asp.net asp.net-mvc

我有以下复选框:

@Html.CheckBox("Norm", false, new { @class = "checkbox" })

选中此项后,我希望它自动更新我的下拉列表

@Html.DropDownList("selectedCore", (SelectList)ViewBag.CoreSheets)

下拉选择列表从我的控制器填充,如下所示

ViewBag.CoreSheets = new SelectList(db.CoreSheets, "sheetID", "Abb");

总而言之,我想单击复选框并更新当前下拉列表值。

干杯,

乙 N J

2 个答案:

答案 0 :(得分:0)

试试此代码

@Html.CheckBox("Norm", false, new { @class = "checkbox",@onclick="clickNorm()" })
<script type="text/javascript">
 function clickNorm(){
   $.ajax({
       url:'@Url.Action("LoadSelectedCoreList")'
       dataType:'json',
       success:function(res){
        if(res && res.length>0){
            $('#selectedCore).empty();
            $.each(res,function(index,item){
                $('#selectedCore').append(new Option(item.Abb,item.sheetID));
            });
         }
        }
      });
</script>

在Coltroller中

public ActionResult LoadSelectedCoreList()
    {
        var selectedCoreList=..
        return Json(selectedCoreList,
      JsonRequestBehavior.AllowGet);

    }

答案 1 :(得分:0)

我通过以下方式解决了这个问题,

复选框

            @Html.CheckBox("Norm", false, new { @class = "checkbox" })

Jquery的

<script type="text/javascript">
 $(document).ready(function() {
                $("#Norm").on("click", function () {
                    if ($(this).is(":checked")) {
                        $("#kammcoreauto").val(1);
                        $("#kammfaceauto").val(1);
                        $("#spacecoreauto").val(1);
                        $("#Washercoreauto").val(1);
                        $("#IsoCoreauto").val(1);
                        $("#IsoFaceauto").val(1);
                      }
                });
            });
                        </script>

这只是指你可以像这样添加的下拉列表的ID

  @Html.DropDownList("selectedCore", (SelectList)ViewBag.CoreSheets, new { id = "kammcoreauto" })

非常感谢所有试图提供帮助的人