私は私の見解でこのコードを持っています:
@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:
$(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 では data-id が正しく読み取られません。他のビューにも同様のコードがありますが、this
insted of を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 />