jquery - 使用jquery设置td的值

标签 jquery html-table

从每行中的复选框中,如果选中它,我想更新该行的表数据值。我尝试过:

$('#'+id).each(function(index, cell){
        $('#data2').html("New Value");
    });

但是它不起作用。我通过以下方式访问 ID:

            if ($('.cbox1:checked').length) {
                      var id = '';
                      $('.cbox1:checked').each(function () {
                        id = $(this).val();
                      });
              }

我的 HTML 是

        <table class="mytable" id="tableid" > 
        <tr> 
            <th style="width: 10px;"> </th> 
            <th> DATA1</th> 
            <th>DATA2</th> 
            <th>DATA3 </th> 
        </tr> 
        <tr contenteditable="false" class="content193" id="193"> 
            <td>  <input class="cbox1" type="checkbox" value="193"></td> 
            <td id="data1">45</td> 
            <td id="data2">566</td> 
            <td id="data3"> 12.12.2016</td> 
        </tr> 
        <tr contenteditable="false" class="content194" id="194"> 
            <td><input class="cbox1" type="checkbox" value="194"></td> 
            <td id="data1">456</td> 
            <td id="data2">6745</td> 
            <td id="data3"> 11.10.2016</td> 
        </tr> 
        <tr contenteditable="false" class="content199" id="199"> 
            <td><input class="cbox1" type="checkbox" value="199"></td> 
            <td id="data1">tr</td> 
            <td id="data2">24</td> 
            <td id="data3"> 20.01.2015</td> 
        </tr> 
        <tr contenteditable="false" class="content201" id="201"> 
            <td><input class="cbox1" type="checkbox" value="201"></td> 
            <td id="data1">tr</td> 
            <td id="data2">24</td> 
            <td id="data3"> 20.01.2015</td> 
        </tr> 
    </table>

最佳答案

你根本不需要类或 ID。您只需找到最接近已更改元素的行,然后直接访问它的 td 即可:

$('.cbox1').change(function(){
  
  var $row = $(this).closest('tr'); //get the current row
  
  $row.find('td').eq(1).text('new value'); // change first cell
  $row.find('td').eq(2).text('new value'); // change second cell
  $row.find('td').eq(3).text('new value'); // change third cell
  
}); 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table class="mytable" id="tableid" > 
        <tr> 
            <th style="width: 10px;"> </th> 
            <th> DATA1</th> 
            <th>DATA2</th> 
            <th>DATA3 </th> 
        </tr> 
        <tr contenteditable="false" class="content193" id="193"> 
            <td>  <input class="cbox1" type="checkbox" value="193"></td> 
            <td>45</td> 
            <td>566</td> 
            <td> 12.12.2016</td> 
        </tr> 
        <tr contenteditable="false" class="content194" id="194"> 
            <td><input class="cbox1" type="checkbox" value="194"></td> 
            <td>456</td> 
            <td>6745</td> 
            <td> 11.10.2016</td> 
        </tr> 
        <tr contenteditable="false" class="content199" id="199"> 
            <td><input class="cbox1" type="checkbox" value="199"></td> 
            <td>19</td> 
            <td>24</td> 
            <td> 20.01.2015</td> 
        </tr> 
        <tr contenteditable="false" class="content201" id="201"> 
            <td><input class="cbox1" type="checkbox" value="201"></td> 
            <td>15</td> 
            <td>24</td> 
            <td> 20.01.2015</td> 
        </tr> 
    </table>

关于jquery - 使用jquery设置td的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27891889/

相关文章:

javascript - JS高亮文本字符串

javascript - 有什么方法可以在剑道网格自定义弹出模板中设置默认值?

javascript - 每次单击 Jquery 更改单词颜色和计数器

html - 在网页上显示排行榜?

twitter-bootstrap - Bootstrap中表格行的下拉菜单

javascript - 根据 id 获取表列的值

javascript - 如何使函数响应与其他函数中的其他语句同步

javascript - 当字符串与 header PHP 不匹配时将列留空

css - 隐藏列时如何保持表格列的宽度?

javascript - 如何在 JS 中从子对象访问父对象