qq_25502173 2015-01-21 12:22 采纳率: 0%
浏览 3551

JS如何显示和隐藏一个表格中的所有表单输入框。

图片说明现在是想要把表格的补货一栏去掉,在表格底部加一个按钮,点击以后 已补货的数字变成输入框。然后再次点击以后提交。

我想要的是一个按钮,控制所有“已补货”列,所有数字都变成输入框。
控制表格里面加了class是content的数据,
点击以后

 <span class=content>0</span>

变输入框,其他列数据不要变。

 <tr>
      <td> </td>
    <td><span class="content">0</span></td></tr>

    小白问题,跪求大神,
  • 写回答

1条回答 默认 最新

  • Go 旅城通票 2015-01-21 13:40
    关注

    发个jquery版本的给你

     <script src="http://code.jquery.com/jquery-1.4.1.min.js"></script>
    <form>
    <table id="tb" border="1">
    <tr><td>列1</td><td>已补货</td><td>补货</td><td>列其他</td></tr>
    <tr><td>列1</td><td><span class="content">0</span></td><td><input type="text"/></td><td>列其他</td></tr>
    <tr><td>列1</td><td><span class="content">0</span></td><td><input type="text"/></td><td>列其他</td></tr>
    <tr><td>列1</td><td><span class="content">0</span></td><td><input type="text"/></td><td>列其他</td></tr>
    </table>
    <input type="submit" value="已补货" onclick="return renderInput(this)"/></form>
    <script>
    function renderInput(btn){
    var span=$('#tb span.content');
    if(span.length>0)//没有将已补货列生成输入框
    span.each(function(){$(this).replaceWith('<input type="text" name="num" value="'+this.innerHTML+'"/>')});
    return span.length==0;//没有生成input则返回false阻止表单提交
    }
    $(function () {
      var tb=$('#tb'),delIndex=-1;
       tb.find('tr:first td').each(function(index){if($(this).text()=='补货'){delIndex=index;return false;}})//找到补货那列
       tb.find('tr td:nth-child('+(delIndex+1)+')').remove();//删除补货那列
    });
    </script>
    
    评论

报告相同问题?

悬赏问题

  • ¥15 MATLAB运行显示错误,如何解决?
  • ¥15 c++头文件不能识别CDialog
  • ¥15 Excel发现不可读取的内容
  • ¥15 UE5#if WITH_EDITOR导致打包的功能不可用
  • ¥15 关于#stm32#的问题:CANOpen的PDO同步传输问题
  • ¥20 yolov5自定义Prune报错,如何解决?
  • ¥15 电磁场的matlab仿真
  • ¥15 mars2d在vue3中的引入问题
  • ¥50 h5唤醒支付宝并跳转至向小荷包转账界面
  • ¥15 算法题:数的划分,用记忆化DFS做WA求调