2015-05-18 32 views
0

我想樣式化物化css的剃刀語法。這是我現在所擁有的。哪個不起作用,複選框不能被檢查。如何樣式剃鬚刀forEach內聯複選框

currentCheckboxes

<div class="form-group"> 
    <div class="col-md-12"> 
    @foreach (var item in (SelectList)ViewBag.RoleId) 
     { 
     <input type="checkbox" name="SelectedRoles" value="@item.Value" class="checkbox-inline" /> 
      @Html.Label(item.Value, new { @class = "control-label" }) 
     } 
</div> 
</div> 

這是我需要,這個問題是每一個複選框,我總是檢查檢查管理。我知道它是因爲循環命名的id和所有複選框相同。我也希望更接近有複選框

whatIwantToHaveWork

<div class="form-group"> 
    <div class="col-md-12"> 
     @foreach (var item in (SelectList)ViewBag.RoleId) 
     { 
      <input type="checkbox" name="SelectedRoles" value="@item.Value" class="filled-in" id="filled-in-box" /> 
      @Html.Label(item.Value, new { @for = "filled-in-box" }) 
     } 
    </div> 
</div> 
+0

您的循環指定全部輸入相同的ID。嘗試使用'@ Html.CheckboxFor' – jbutler483

+0

爲什麼不把checked =「checked」放在輸入中? – AmmarCSE

+0

正如您使用引導程序,請訪問以下鏈接 - > http://getbootstrap.com/components/#input-groups-checkboxes-radios – Morpheus

回答

0

你可以做添加一些獨特的財產價值,創造獨特的ID喜歡"filled-in-box-"+item.id

這裏在例子中,我使用後綴item.id來創建唯一的id。

@foreach (var item in (SelectList)ViewBag.RoleId) 
{ 
    <input type="checkbox" name="SelectedRoles" value="@item.Value" class="filled-in" id="[email protected]" /> 
    @Html.Label(item.Value, new { @for = "filled-in-box-"+item.id }) 
} 

OR


剛剛擺脫的@HTML.Label和使用

<label> 
    @item.Value <input type="checkbox" name="SelectedRoles" value="@item.Value" class="filled-in" /> 
</label> 
+0

你的第一個選項給我這個消息'System.Web.Mvc.SelectListItem'不包含'id'的定義,也沒有接受第一個參數類型的擴展方法'id' 'System.Web.Mvc.SelectListItem'可以找到(你是否缺少使用指令或程序集引用?) – texas697

+0

第二個選項不顯示任何複選框 – texas697

+0

使用item.Value不允許檢查複選框。我從控制檯發佈了css的截圖。我認爲這可能是使用引導和實現的問題。問題是我需要同時使用兩者。對於問題,我一直在禁用樣式表中導致問題的東西。儘管如此,我不知道該怎麼改變。 – texas697