javascript - 显示复选框中的多个数据

标签 javascript jquery html checkbox

如何从复选框获取多个数据到另一个模式?如果我单击一个按钮,则会出现一个带有一些数据的引导模式。数据有复选框。我想在表格中的另一个模式上打印选定的数据。我正在尝试推送该值,但它只是打印复选框值,我想打印名称连接到

我的代码

$(document).ready(function() {
        $("#checkBtn2").click(function() {
            var favorite = [];
            $.each($("input[name='case']:checked"), function() {
                favorite.push($(this).val());
            });
            $('#myModal2').modal('show').on('shown.bs.modal', function() {
                $("#checkid").html(favorite.join(", "));
            });
        });
    });
 <script src="https://code.jquery.com/jquery.min.js"></script>

        <link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" rel="stylesheet" type="text/css" />
        <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"></script>
        
        <div class="container">
  <div class="row">
    <div class="col-sm-6">
      <table class="table table-striped table-bordered">
        <thead>
          <tr>
            <th>Name</th>
            <th>Connect to</th>
            <th>View</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td>Data1</td>
            <td>Data2</td>
            <td align="center"><input name="case" class="checkboxes" type="checkbox" value="data1"</td>
          </tr>
          <tr>
            
            <td>Data2</td>
            <td>Data3</td>
            <td align="center"><input name="case" class="checkboxes" type="checkbox" value="data2"</td>
          </tr>
          <tr>
            
            <td>Data3</td>
            <td></td>
            <td align="center"><input name="case" class="checkboxes" type="checkbox" value="data3"</td>
          </tr>
          <tr>
            
            <td>Data4</td>
            <td>Data5</td>
            <td align="center"><input name="case" class="checkboxes" type="checkbox" value="data4"</td>
          </tr>
          <tr>
            
            <td>Data5</td>
            <td>Data6</td>
            <td align="center"><input name="case" class="checkboxes" type="checkbox" value="data5"</td>
          </tr>
          <tr>
            
            <td>Data6</td>
            <td></td>
            <td align="center"><input name="case" class="checkboxes" type="checkbox" value="data6"</td>
          </tr>
        </tbody>
      </table>
    </div>
  </div>
  <input type='button' name='case' id='checkBtn2' value='View' class='btn btn-info'>
</div>

<div class="modal fade" id="myModal2" tabindex="-1" role="dialog" aria-labelledby="basicModal">
  <div class="modal-dialog modal-lg">
    <div class="modal-content">
      <div class="modal-header">
        <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
      </div>
      <div class="modal-body">
          <p id="checkid"></p>
      </div>
      <div class="modal-footer">
        <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
      </div>
    </div>
  </div>
</div>

最佳答案

那么,您可以获取选中的复选框中最接近的tr,并将其作为json对象提供给收藏夹多变的。然后您可以使用 for-loop 在模态中检索它。这将使事情更有条理。

$(document).ready(function() {
        $("#checkBtn2").click(function() {
            var favorite = [];
            $.each($("input[name='case']:checked"), function() {
                var tr = $(this).closest('tr');
                var data1 = $(tr).find('td').eq(0).text();
                var data2 = $(tr).find('td').eq(1).text();
                var data = {data1: data1, data2: data2};
                favorite.push(data);
            });
            $('#myModal2').modal('show').on('shown.bs.modal', function() {
                $("#checkid").html("");
                for(var i=0;i < favorite.length; i++){
                  $("#checkid").append('<div>'+favorite[i].data1 +',' + favorite[i].data2 +'</div>');
                }
            });
        });
    });
<script src="https://code.jquery.com/jquery.min.js"></script>

        <link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" rel="stylesheet" type="text/css" />
        <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"></script>
        
        <div class="container">
  <div class="row">
    <div class="col-sm-6">
      <table class="table table-striped table-bordered">
        <thead>
          <tr>
            <th>Name</th>
            <th>Connect to</th>
            <th>View</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td>Data1</td>
            <td>Data2</td>
            <td align="center"><input name="case" class="checkboxes" type="checkbox" value="data1"</td>
          </tr>
          <tr>
            
            <td>Data2</td>
            <td>Data3</td>
            <td align="center"><input name="case" class="checkboxes" type="checkbox" value="data2"</td>
          </tr>
          <tr>
            
            <td>Data3</td>
            <td></td>
            <td align="center"><input name="case" class="checkboxes" type="checkbox" value="data3"</td>
          </tr>
          <tr>
            
            <td>Data4</td>
            <td>Data5</td>
            <td align="center"><input name="case" class="checkboxes" type="checkbox" value="data4"</td>
          </tr>
          <tr>
            
            <td>Data5</td>
            <td>Data6</td>
            <td align="center"><input name="case" class="checkboxes" type="checkbox" value="data5"</td>
          </tr>
          <tr>
            
            <td>Data6</td>
            <td></td>
            <td align="center"><input name="case" class="checkboxes" type="checkbox" value="data6"</td>
          </tr>
        </tbody>
      </table>
    </div>
  </div>
  <input type='button' name='case' id='checkBtn2' value='View' class='btn btn-info'>
</div>

<div class="modal fade" id="myModal2" tabindex="-1" role="dialog" aria-labelledby="basicModal">
  <div class="modal-dialog modal-lg">
    <div class="modal-content">
      <div class="modal-header">
        <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
      </div>
      <div class="modal-body">
          <p id="checkid"></p>
      </div>
      <div class="modal-footer">
        <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
      </div>
    </div>
  </div>
</div>

关于javascript - 显示复选框中的多个数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50679760/

相关文章:

javascript - 在显示 :block 之后隐藏 "shot"

javascript - axios.post().then() 没有将已解析的数据传递给回调函数

javascript - 循环中 JavaScript 中的可变变量

javascript - 使用 Google oAuth 2.0 时刷新新用户登录页面

jquery - 文本区域宽度自动调整大小

javascript - 在 localStorage 中存储变量太慢

html - HTML 表单提交标签之间的区别

javascript - 如何根据下拉选择填充文本值类型的输入 - Angular 5

python - 在 Python 的 POST http header 中检索 HTML 表单数据

.net - JQuery 工具工具提示与 UpdatePanel