0

I have this code in my view:
@foreach (WebStill.Rola r in Model.Role) {
@Html.CheckBoxFor(p => r.Selektovana, new { @RolaID = r.RolaID, @class="cbRadnikRole",data_id=r.RolaID }); @r.Naziv
}

and this 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();
    });

This works in Opera and Firefox,but IE and Chrome are not reading data-id correctly. I have similar code in other view,but i use this insted of cbRadnikRole:checked,which i cant use here because i need to trigger it when page loads.

Any suggestions ?

rendered 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 />
gMailMan
  • 161
  • 1
  • 8
  • What does the actual HTML generated by that code look like? I'm not familiar with ASP.NET, but data_id in your code becoming data-id in the HTML seems a bit odd to me. – Anthony Grist Oct 02 '13 at 09:20
  • @Anthony Grist that is just how it works, '-' cant be used. – gMailMan Oct 02 '13 at 09:28

1 Answers1

1

Use data-id=r.RolaID instead of data_id=r.RolaID

Also use .prop() instead of .attr()

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

Read .prop() vs .attr()

Community
  • 1
  • 1
Satpal
  • 132,252
  • 13
  • 159
  • 168
  • That part works fine for me,my problem is with the if statement,its not getting real data-id.I click on 1 it shows me 3.And data-id is invalid in c#,but data_id becomes data-id in rendered html. – gMailMan Oct 02 '13 at 09:24