【问题标题】:Check the checkbox dynamically using jquery and ajax call使用 jquery 和 ajax 调用动态检查复选框
【发布时间】:2018-03-19 18:47:53
【问题描述】:

我在 div 标记中有菜单列表,onPageLoad 我正在获取菜单、子菜单并显示它。

现在我正在调用 ajax 调用,当我点击用户名时,它应该选中他有权访问子菜单的复选框。

我所做的部分就像 ids & keys 的比较。如果两个条件都满足,我会卡在动态选中复选框。

HTML 代码看起来像,

                     <% for(var i=0;i< data.length;i++){ 
                          if(data[i].has_child == 1) {
                       %>

                         <div class="panel panel-primary">
                            <div class="panel-heading"><%= data[i].name %></div>

                            <% for(var j=0;j<data.length;j++){ 

                            if(data[j].id == data[i].id && data[j].has_child == 0){ %>

                            <div class="panel-body">
                                <div class="checkbox" id="rightCheck">
                                    <label>
                                        <input type="checkbox" class = "rightCheck" value="<%= data[j].menu_id %>" ><%= data[j].name %></label>
                                </div>
                            </div>

                            <% }  }%>
                        </div>                          

                        <% }} %>
                        </div>
                        </div>    

我试过 $(".rightCheck").prop("checked",true);但这会检查所有复选框。 条件怎么写?

【问题讨论】:

  • 您能出示您的 AJAX 代码吗?
  • 还添加呈现的 HTML。不是代码
  • 在 ajax 成功时,我有类似 ,var key_id=document.getElementsByClassName('rightCheck');for (var i = 0, j = 0,k=j; i

标签: jquery ajax checkbox


【解决方案1】:

在您的 AJAX 代码中,当您在 AJAX 成功中获得 id 时,只需将该 id 与复选框的 id 匹配即可。

success: function(){
  //Now loop through checkbox
   $(".rightCheck").each(function(){
    if($(this).attr("id") == id) //check if checkbox id match
    {
      $(this).prop("checked",true);
    }
   });  
}

【讨论】:

  • 如果有帮助,请将答案标记为已批准。 @KiranDevkar
猜你喜欢
  • 2017-03-26
  • 2014-04-26
  • 1970-01-01
  • 2019-08-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-05-12
相关资源
最近更新 更多