jQuery代码适用于Firefox和Opera,但不适用于Chrome和IE - 不能正确读取复选框值 [英] jQuery code works in Firefox and Opera,but not in Chrome and IE - not reading checkbox value correctly

查看:88
本文介绍了jQuery代码适用于Firefox和Opera,但不适用于Chrome和IE - 不能正确读取复选框值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在我看来有这个代码:

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
}





哪个输出这个html:



Which outputs this 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 />





这个jQuery:



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





这适用于Opera和Firefox,但IE和Chrome无法正确读取数据ID。 br />
例如,当我点击带有data-id 1的复选框时,我得到2,或者有时3或其他id。

我在其他视图中有类似的代码,但我使用内容 cbRadnikRole:选中,我在这里无法使用,因为我需要在页面加载时触发它。 br $> b $ b



有什么建议吗?



This works in Opera and Firefox,but IE and Chrome are not reading data-id correctly.
For example when i click on check box with data-id 1,i get 2,or sometimes 3 or other id.
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 ?

推荐答案

document )。ready( function (){
(document).ready(function () {


.cbRadnikRole)。change( function (){
if
(".cbRadnikRole").change(function () { if (


.cbRadnikRole:选中)。data(' id')== 2 ){
(".cbRadnikRole:checked").data('id') == 2) {


这篇关于jQuery代码适用于Firefox和Opera,但不适用于Chrome和IE - 不能正确读取复选框值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆