2015-04-14 20 views
1

我有以下複選框:如何獲得一個@ html.Checkbox更新@ html.dropdownList

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

一旦被選中,我希望它自動更新我的下拉

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

下拉選擇列表的是從我的控制器這樣的填充,

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

因此,在總結,我想點擊複選框和HA當前下拉值將被更新。

乾杯,

乙 ÑĴ

+0

使用Asp.net MVC? –

+0

什麼?即時通訊使用ASP.net mvc 5 –

+0

添加ASP.net mvc標籤。 –

回答

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); 

    } 
+0

當你打電話給Var選中的核心清單時,這個id是否指定了我希望它選擇的下拉列表的ID? –

+0

我用javascript也得到了錯誤 –

+0

var selectedCoreList = ...是你需要加載CoreSheets的代碼,列表中的每個項目都有id和名字 –

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" }) 

非常感謝大家誰試圖幫助