首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用MVC asp.net检查存在于由coma从数据库中分离出来的模型中的复选框(如下面的代码所示)?

如何使用MVC asp.net检查存在于由coma从数据库中分离出来的模型中的复选框(如下面的代码所示)?
EN

Stack Overflow用户
提问于 2021-02-22 14:41:50
回答 1查看 9关注 0票数 0

下面是javascript的代码。我希望我的复选框是基于从数据库中分离出来的coma值来选择的。请告诉我哪里弄错了

代码语言:javascript
复制
function GetStatesList() {
  debugger;
  var makeList = [];
  var url = '/IAAISettings/GetStatesList';
  $.ajax({
    type: 'POST',
    url: url,
    success: function(stateList) {
      var makeChkList = ""
      for (var i = 0; i < stateList.length; i++) {
        var st = stateList[i];
        makeChkList += "<div class=\"col-12\">" +
          "<label class=\"checkbox\">" +
          "<input type=\"checkbox\"  id=\"State_" + stateList[i] + "\" name=\"State_" + stateList[i] + "\" checked=\"" + @Model.States.Contains("Alaska") ? "checked" + "\" value=\"" + stateList[i] + "\">" +
          "<i></i>" + stateList[i] +
          "</label>" +
          "</div>";
      }
      document.getElementById('StateschkList').innerHTML = makeChkList;
    },
    error: function(r) {
      OnFailure(r);
    },
    failure: function(r) {
      OnFailure(r);
    }
  });
}

EN

回答 1

Stack Overflow用户

发布于 2021-02-22 15:52:49

我发现问题了。因为js是客户端和模型加载,所以在js加载之前,它没有获取模式值,为了获取值,我们必须使用下面这行@Html.Raw(Json.Encode(Model.States));

代码语言:javascript
复制
function GetStatesList() {
        debugger;
        var arrstates = [];
        var url = '/IAAISettings/GetStatesList';
        $.ajax({
            type: 'POST',
            url: url,
            success: function (stateList) {
                var makeChkList = ""
                var st =@Html.Raw(Json.Encode(Model.States));
                arrstates = st.split(",");
                console.log(st);
                for (var i = 0; i < stateList.length; i++) {
                    var str = stateList[i];
                    
                    if (arrstates.includes(stateList[i])) {
                        makeChkList += "<div class=\"col-12\">" +
                            "<label class=\"checkbox\">" +
                            "<input type=\"checkbox\"  id=\"State_" + stateList[i] + "\" name=\"State_" + stateList[i] + "\" checked=checked\"" + "\" value=\"" + stateList[i] + "\">" +
                            "<i></i>" + stateList[i] +
                            "</label>" +
                            "</div>";
                    }
                    else {
                        makeChkList += "<div class=\"col-12\">" +
                            "<label class=\"checkbox\">" +
                            "<input type=\"checkbox\"  id=\"State_" + i + "\" name=\"State_" + i + "\" value=\"" + stateList[i] + "\">" +
                            "<i></i>" + stateList[i] +
                            "</label>" +
                            "</div>";
                    }
                }
                document.getElementById('StateschkList').innerHTML = makeChkList;
            },
            error: function (r) {
                OnFailure(r);
            },
            failure: function (r) {
                OnFailure(r);
            }
        });
    }

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66311079

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档