【问题标题】:How to read elements from a row where a checkbox has been selected using Javascript如何从使用Javascript选择复选框的行中读取元素
【发布时间】:2017-07-24 00:28:40
【问题描述】:

这是我的问题,我有一个用 Javascript 动态创建的表,结果我有这样的东西:

<table>
<tbody id="bodyDepartment">
            <tr><td class="Depa" style="width:30px;" align="center"><input id="Depa" name="Depa" type="checkbox" value="1" style="width:30px;"/> </td>
                <td>value 1.1</td>
                <td>value 1.2</td>
                <td>value 1.3</td>
            </tr>
            <tr><td class="Depa" style="width:30px;" align="center"><input id="Depa" name="Depa" type="checkbox" value="1" style="width:30px;"/> </td>
                <td>value 2.1</td>
                <td>value 2.2</td>
                <td>value 2.3</td>
            </tr>
</tbody>
</table>​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​

我想要的是从所有选定的行中获取所有元素,我试图使用这段代码来获取带有 Javascript 的元素:

function Click(){
if ($("input:checkbox[name='Depa']:checked")) {
    var id, num, piso
    $("input:checkbox[name='Depa']:checked").parents("tr").each(function (index) {
      $("input:checkbox[name='Depa']:checked").parents("tr").children("td").each(function (index2) {
        switch (index2) {
        case 1:
            id = $(this).text();
            alert(id);
            break;
        case 2:
            num= $(this).text();
            alert(num);
            break;
        case 3:
            piso = $(this).text();
            alert(piso);
            break;

         }
      })
    })
}

​ }​

但我只能得到“n”次选择的最后一个元素,其中“n”是选择的元素的数量,有人可以告诉我哪里出了问题以及如何解决它。

这是我的问题的演示:http://jsfiddle.net/ZPxqJ/180/

【问题讨论】:

    标签: javascript jquery checkbox html-table


    【解决方案1】:

    试试:

    function getDetails(){
        var checkboxes = $("input:checkbox[name='Depa']:checked");
        $(checkboxes).each(function(){
            var arr = $(this).closest('tr').find('td:not(.Depa)');
            $(arr).each(function(){
                console.log(this.innerHTML);
            });
        });
    }
    

    【讨论】:

      【解决方案2】:

      试试这个,

      $("#RegBtnReg").click(Click);
      
      function Click() {
          var id, num, piso
          $("input:checkbox[name='Depa']:checked").parents("tr").each(function(index) {
      
              $(this).children("td").each(function(index2) {
                  switch (index2) {
                  case 1:
                      id = $(this).text();
                      alert(id);
                      break;
                  case 2:
                      num = $(this).text();
                      alert(num);
                      break;
                  case 3:
                      piso = $(this).text();
                      alert(piso);
                      break;
      
                  }
              })
          })
      }​
      

      演示:http://jsfiddle.net/ZPxqJ/181/

      【讨论】:

      • 你好,谢谢,但要先读最后一个,还是按顺序读?
      猜你喜欢
      • 1970-01-01
      • 2016-11-10
      • 2018-04-20
      • 1970-01-01
      • 1970-01-01
      • 2017-08-01
      • 2013-07-07
      • 1970-01-01
      • 2021-03-30
      相关资源
      最近更新 更多