在IE7中未选中webgrid内的突出显示复选框

Dee*_*ali 5 javascript asp.net asp.net-mvc-3

我的应用程序是在MVC 3中,我正在使用razor引擎,我试图在web网格中选择第一项(默认突出显示复选框),它没有在IE7中被选中,这里是代码:

$("#@item").change(function () {

});
Run Code Online (Sandbox Code Playgroud)

Mih*_*abo 0

好吧......让我们一步一步来......因为你没有提供太多数据......我将为你做一个场景:

假设您有这个复选框:

@Html.CheckBoxFor(model=>model.isValid,new {id="chkValid"})
Run Code Online (Sandbox Code Playgroud)

当然 ISValid 是一个 bool 变量。

一种简单的方法是这样做:

@Html.CheckBoxFor(model=>model.isValid,new {@checked = "checked"})
Run Code Online (Sandbox Code Playgroud)

现在,如果由于某种原因不起作用...您可以随时采用老式方式... Jquery:在文档准备好中..执行以下操作:

 $(document).ready(function () {
        $('chkValid').attr('checked')= true;
    });
Run Code Online (Sandbox Code Playgroud)

希望能帮助到你


稍后编辑:好的......试试这个:

@Html.CheckBoxFor(model=>model.isValid,new {id="chkValid" , onclick="updateChk("+@model.parameter+")"}) // the value you need to send to the controller 
Run Code Online (Sandbox Code Playgroud)

这是 jquery 函数:

  function updateChk(parameter)
    {
            if (($('#chkValid').is(':checked')) {
                var check = true;
            } else {
                check = false;
            }
    //see if checkbox is checked and pass it to the controller in an Ajax call
            $.ajax({
                type: "POST",
                url: '@Url.Action("Action", "Controller")',

                data: "{parameter:parameter, status:'" + check + "'}",
                contentType: "application/json; charset=utf-8",
                success: function (data) {
                }
            });
        }
Run Code Online (Sandbox Code Playgroud)

如果您不明白什么,请告诉我!