javascript - 使用 javascript/jquery 向表中添加新行

标签 javascript jquery html ruby-on-rails

我想在单击“添加”按钮时向表中添加行,并使用 javascript/jquery 使用“删除”按钮删除行。我尝试编写以下代码:

<script src="/js/jquery-2.0.3.js"></script>
  <script>
    /* Javascript for phone numbers*/
    $(document).ready(function()
    { 
      var counter = 2;
      var count= 4;

      $("#add_phone").click(function() 
      {
        alert("whoah it worked");
        if(counter>=count)
        {
          alert("Only " + count + " Phone number allowed.");
          return false;
        }   

        var htmlToAppend = '<tr id="pn'+ counter +'"><th>
              <select class="phone_no">
                <option value="home">home</option>
                <option value="Business">Business</option>
                <option value="Business2">Business 2</option>
              </select>
            </th>
            <td><input type="text"/></td></tr>';
            $("#phone_number").append ( htmlToAppend );

        newTableRow.appendTo("#phone_number");
        counter++;
      });

      $("#delete_phone").click(function() 
      {
        if(counter==2)
        {
          alert("Cannot remove phone number");
          return false;
        }   
        counter--;

        $("#pn" + counter-1).remove();

      });
    });

但是警告消息 alert("whoah it worked"); 没有显示,即它没有进入函数。

<div class="info_type">
        Phone numbers  <hr>
        <table id="phone_number">
          <tr id="pn1">
            <th>
              <select class="phone_no">
                <option value="home">home</option>
                <option value="Business">Business</option>
                <option value="Business2">Business 2</option>
              </select>
            </th>
            <td><input type="text"/></td>
          </tr>  
        </table>
        <input type="button" id="add_phone" value="Add"/>
        <input type="button" id="delete_phone" value="Delete"/>  
      </div>

我真的很想要这个解决方案。谁能帮帮我??

PS: 我在 Rails 上使用 Ruby

最佳答案

您的字符串追加格式不正确。

 var htmlToAppend = '<tr id="pn'+ counter +'"><th><select class="phone_no"> <option value="home">home</option> <option value="Business">Business</option> <option value="Business2">Business 2</option></select> </th><td><input type="text"/></td></tr>';

fiddle 中的工作样本 http://jsfiddle.net/shree/jNA4x/

关于javascript - 使用 javascript/jquery 向表中添加新行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20755784/

相关文章:

javascript - 检测 Web 下拉菜单是否要显示在屏幕外

python - 让 HTML 在 django 管理显示中换行

android - 视频标签本地文件下载 Cordova Android

javascript - 在 Javascript 中创建 PDF 预加载器

javascript - 添加动态原始数据时如何向具有相同 id 的多个下拉列表添加选项

javascript - getElementsByTagName 不适用于我的 <a> 标签

javascript - livequery按键事件

javascript - jquery增加/减少滚动图像对比度

javascript - jQuery 问题

javascript - 打印 Bootstrap 模态数据