【问题标题】:How can append td in same row in table using jQuery如何使用jQuery在表的同一行中附加td
【发布时间】:2021-11-15 23:51:45
【问题描述】:

$(document).ready(function() {
  $('.zk_btn').click(function(e) {
    var pass_symbol= $('#' + lastid).val();
    var split_id = lastid.split("_");
    var nextindex = Number(split_id[1]) + 1;

    $.ajax({
      url:"record_count_3.php?pass_symbol=" + pass_symbol,
      method:"POST",
      success:function(data)
        {
        var json = JSON.parse(data);
        var txt = '';

        if(json.length > 0){
          for(var i=0;i<json.length;i++){
            txt = "<td>"+json[i].openrate+"</td><td>"+json[i].highrate+"</td><td>"+json[i].lowrate+"</td><td>"+json[i].closerate+"</td>";
                                                
            $("#example > tbody > tr").append(txt);
          }
          $('#example > tbody').append('<tr class="txt_ '+  nextindex +'"><td><input type="text" id="txt_'+ nextindex +'" name="symbol"  class="txtfield"  /></td></tr> </tbody>');
        }   
        $('.content').html(data);
      }
    })
  });
});

我在从 ajax 调用中获取数据并在 json varibale 中移动时遇到问题。当在输入框中写入符号并获取记录并在第一个 td 中显示并附加到新行时。和另一个插入符号并单击提交按钮获取记录并显示在第二个 td 但问题第二个记录显示在第一行和第二行就像屏幕截图一样。 mcb 记录显示在第二行而不是第一行。请提出我的错误

  <table id='example' border='1' cellspacing='1' cellpadding='1' style='width:900px;' >
    <thead>
      <th> Marksymbol</th>
      <th class='namecol '> Openrate</th>
      <th class='namecol'> Highrate</th>
      <th class='namecol'> Lowrate</th>
      <th class='namecol'> Closerate</th>
    </tr>
  </thead>
  <tbody>
    <tr class ='txt_1'>
      <td > <input type='text' name="symbol" id='txt_1'  class='txtfield'/>
      </td>
    </tr>
                                            
</table>

<input type="button" id= "btnclick" class="zk_btn zk_btn_submit" name="submit1" value="SUBMIT"/> 

【问题讨论】:

  • $("#example &gt; tbody &gt; tr").append(txt); 替换为 $("#example &gt; tbody").append("&lt;tr&gt;" + txt + "&lt;/tr&gt;");(不过有更好的方法)
  • 下一次,花时间正确缩进你的代码(它不可读),我不会花我的时间去做而不是考虑答案。也许其他人会想考虑一下,因为它完全让我失去了动力
  • 这里有一些代码演示了如何防止 HTML 字符串组合并使事情更具可读性和简洁性:jsfiddle.net/xt6kf8a7
  • 下一行代码 $("#example > tbody").append("" + txt + "") 不起作用。我希望数据显示在同一行

标签: javascript php html jquery ajax


【解决方案1】:

它正在工作

$('#example tr:last').closest('tr').append(txt);

【讨论】:

  • 您的答案可以通过额外的支持信息得到改进。请edit 添加更多详细信息,例如引用或文档,以便其他人可以确认您的答案是正确的。你可以找到更多关于如何写好答案的信息in the help center
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-12-22
  • 1970-01-01
  • 2022-07-25
  • 1970-01-01
  • 2021-05-04
相关资源
最近更新 更多