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:

$(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 が正しく読み取られません。他のビューにも同様のコードがありますが、thisinsted 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 />
4

1 に答える 1

1

data-id=r.RolaIDの代わりに使用data_id=r.RolaID

.attr()の代わりに.prop ()も使用します

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

.prop() と .attr()を読む

于 2013-10-02T09:19:56.650 に答える