如何使新的添加按钮运行

时间:2012-09-19 17:05:09

标签: javascript jquery

伙计们试图制作一个动态设计,在第10行添加按钮添加课程![在此输入图像说明] [1]

http://www.facebook.com/photo.php?fbid=4099710263250&set=a.1210298669766.32621.1597725369&type=3&theater

我可以附加一个带有按钮的新行,但是当我点击新按钮时,点击功能没有响应,我仍然需要点击第10行的添加按钮来添加新按钮。

这是代码。

         <table>
            <th colspan="4"><h2>Boys</h2></th>
            <tr>
              <td>
                <label>Name:</label>
              </td>
              <td>
                <input type="text" name="bstudnt_lname1" class="input">
              </td>
              <td>
                <input type="text" name="bstudnt_mname1" class="input">
              </td>
              <td>
                <input type="text" name="bstudnt_fname1" class="input">
              </td>  
            </tr>
            <tr>
              <td>
                <label>Name:</label>
              </td>
              <td>
                <input type="text" name="bstudnt_lname2" class="input">
              </td>
              <td>
                <input type="text" name="bstudnt_mname2" class="input">
              </td>
              <td>
                <input type="text" name="bstudnt_fname2" class="input" >
              </td>  
            </tr>
            <tr>
              <td>
                <label>Name:</label>
              </td>
              <td>
                <input type="text" name="bstudnt_lname3" class="input" >
              </td>
              <td>
                <input type="text" name="bstudnt_mname3" class="input" >
              </td>
              <td>
                <input type="text" name="bstudnt_fname3" class="input" >
              </td>  
            </tr>
            <tr>
              <td>
                <label>Name:</label>
              </td>
              <td>
                <input type="text" name="bstudnt_lname4" class="input" >
              </td>
              <td>
                <input type="text" name="bstudnt_mname4" class="input" >
              </td>
              <td>
                <input type="text" name="bstudnt_fname4" class="input" >
              </td>  
            </tr>
            <tr>
              <td>
                <label>Name:</label>
              </td>
              <td>
                <input type="text" name="bstudnt_lname5" class="input" >
              </td>
              <td>
                <input type="text" name="bstudnt_mname5" class="input" >
              </td>
              <td>
                <input type="text" name="bstudnt_fname5" class="input" >
              </td>  
            </tr>
            <tr>
              <td>
                <label>Name:</label>
              </td>
              <td>
                <input type="text" name="bstudnt_lname6" class="input" >
              </td>
              <td>
                <input type="text" name="bstudnt_mname6" class="input" >
              </td>
              <td>
                <input type="text" name="bstudnt_fname6" class="input" >
              </td>  
            </tr>
            <tr>
              <td>
                <label>Name:</label>
              </td>
              <td>
                <input type="text" name="bstudnt_lname7" class="input" >
              </td>
              <td>
                <input type="text" name="bstudnt_mname7" class="input" >
              </td>
              <td>
                <input type="text" name="bstudnt_fname7" class="input" >
              </td>  
            </tr>
            <tr>
              <td>
                <label>Name:</label>
              </td>
              <td>
                <input type="text" name="bstudnt_lname8" class="input" >
              </td>
              <td>
                <input type="text" name="bstudnt_mname8" class="input" >
              </td>
              <td>
                <input type="text" name="bstudnt_fname8" class="input" >
              </td>  
            </tr>
            <tr>
              <td>
                <label>Name:</label>
              </td>
              <td>
                <input type="text" name="bstudnt_lname9" class="input" >
              </td>
              <td>
                <input type="text" name="bstudnt_mname9" class="input" >
              </td>
              <td>
                <input type="text" name="bstudnt_fname9" class="input" >
              </td>  
            </tr>
            <tr>
              <td>
                <label>Name:</label>
              </td>
              <td>
                <input type="text" name="bstudnt_lname10" class="input" >
              </td>
              <td>
                <input type="text" name="bstudnt_mname10" class="input" >
              </td>
              <td>
                <input type="text" name="bstudnt_fname10" class="input" >

                <input type="button" id="" name="add_bstudent" class="button add-        bstudent" value="+">
              </td>  
            </tr>              
          </table>

JS ....

$('.add-bstudent').click(function () {
    $(this).parent().parent().after("<tr><td><label>Name:</label></td><td>  <input type='text' name='bstudnt_lname10' class='input' placeholder='Last Name'></td><td><input type='text' name='bstudnt_mname10' class='input' placeholder='Middle Name'></td><td><input type='text' name='bstudnt_fname10' class='input' placeholder='First Name'> <input type='button' id='' name='add_bstudent' class='button add-bstudent' value='+'></td></tr>");
});

3 个答案:

答案 0 :(得分:2)

当您使用click()函数注册事件时,它只会在当时选择器返回的对象上注册事件。如果您在事后创建了一个对象,它将不会绑定到该事件。使用on()函数并为其指定选择器:http://api.jquery.com/on/

示例:

$('#container').on('click', '.add-bstudent', function(event) { ... });

答案 1 :(得分:0)

我注意到的第一件事是你没有一个名为$('.add-bstudent')的按钮。 它是按钮的名称属性.. 还可以考虑使用.on()委派事件,以便在元素可用时附加事件

答案 2 :(得分:0)

试试这个

 $('.add-bstudent').click(function () {
        $(this).parent('table').append("<tr><td><label>Name:</label></td><td>  <input type='text' name='bstudnt_lname10' class='input' placeholder='Last Name'></td><td><input type='text' name='bstudnt_mname10' class='input' placeholder='Middle Name'></td><td><input type='text' name='bstudnt_fname10' class='input' placeholder='First Name'> <input type='button' id='' name='add_bstudent' class='button add-bstudent' value='+'></td></tr>");
    });