gMailMan
gMailMan

Reputation: 161

jQuery code works in Firefox and Opera,but not in Chrome and IE - not reading checkbox value correctly

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 />

Upvotes: 0

Views: 157

Answers (1)

Satpal
Satpal

Reputation: 133403

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

Upvotes: 1

Related Questions