2013-10-02 25 views
0

我有這樣的代碼在我看來:
@foreach (WebStill.Rola r in Model.Role) {
@Html.CheckBoxFor(p => r.Selektovana, new { @RolaID = r.RolaID, @class="cbRadnikRole",data_id=r.RolaID }); @r.Naziv
}
jQuery代碼在Firefox和Opera,但不是在Chrome和IE - 不讀複選框值正確

與這個jQuery:

$(document).ready(function() { 
     $(".cbRadnikRole").change(function() { 
      if ($(".cbRadnikRole:checked").data('id') == 2) { 
       $('#ulOrgJedinice').show(); 
      } 
      else { 
       $('#ulOrgJedinice').hide(); 
       $('#ulOrgJedinice').find("input").attr('checked', false); 
      } 
     }); 

     $(".cbRadnikRole").change(); 
    }); 

這適用於Opera和Firefox,但IE和Chrome不能正確讀取數據ID。 我有類似的代碼在其他視圖中,但我使用this insted cbRadnikRole:checked,我不能在這裏使用,因爲我需要在頁面加載時觸發它。

有什麼建議嗎?

呈現的HTML:

<input class="cbRadnikRole" data-id="1" data-val="true" data-val-required="The Selektovana field is required." id="r_Selektovana" name="r.Selektovana" type="checkbox" value="true" /><input name="r.Selektovana" type="hidden" value="false" />Administrator     <br /> 
<input class="cbRadnikRole" data-id="2" id="r_Selektovana" name="r.Selektovana" type="checkbox" value="true" /><input name="r.Selektovana" type="hidden" value="false" />Serviser     <br /> 
<input class="cbRadnikRole" data-id="3" id="r_Selektovana" name="r.Selektovana" type="checkbox" value="true" /><input name="r.Selektovana" type="hidden" value="false" />Supervizor     <br /> 
<input class="cbRadnikRole" data-id="4" id="r_Selektovana" name="r.Selektovana" type="checkbox" value="true" /><input name="r.Selektovana" type="hidden" value="false" />Vozač     <br /> 
<input class="cbRadnikRole" data-id="5" id="r_Selektovana" name="r.Selektovana" type="checkbox" value="true" /><input name="r.Selektovana" type="hidden" value="false" />CHIEF supervizor     <br /> 
<input class="cbRadnikRole" data-id="6" id="r_Selektovana" name="r.Selektovana" type="checkbox" value="true" /><input name="r.Selektovana" type="hidden" value="false" />Operater     <br /> 
+0

什麼實際的HTML根通過該代碼評論看起來像?我對ASP.NET不熟悉,但是代碼中的data_id成爲HTML中的數據ID對我來說似乎有點奇怪。 –

+0

@Anthony Grist,它是如何工作的,' - '不能被使用。 – gMailMan

回答

1

使用data-id=r.RolaID而不是data_id=r.RolaID

還可以使用.prop()代替.attr()

$('#ulOrgJedinice').find("input").prop('checked', false); 

.prop() vs .attr()

+0

這部分工作對我來說很好,我的問題是與if語句,它沒有得到真正的data-id。我點擊1它顯示我3.and數據id在c#中是無效的,但data_id在呈現data-id成爲數據id HTML。 – gMailMan

相關問題