jquery阻止删除每个表行

时间:2011-04-18 01:21:54

标签: jquery tablerow

可以添加或删除表行。我已经设置了一个确认来警告用户他们是否尝试删除自己的行(从数据库加载的第一行);如果他们为其他人设置,他们可能需要这样做。第二行(class = leaderrow)为空,并且该leaderrow是单击addRow按钮时克隆的内容。

如何防止(或至少警告)用户删除表格中的每个领导者?如果删除了所有领导者,则添加按钮将失败。

这是jQuery:

$("a.self").live('click', function(){
   go=confirm('After saving you will lose the ability to edit this organization. Continue to remove yourself?')
    if(go){
       $(this).parent().parent().remove();
    }
    return false; // prevent link to jump to a page.
});


$("a.remove").live('click', function(){
   $(this).parents('tr').remove();
   return false; // prevent link to jump to a page.
});

这是表格,它是表格的一部分:

<table width="100%" border="0" class="unsorted_table">
  <thead>   
      <tr>
           <th>Name*</th>
           <th>Action</th>
      </tr>
  </thead>
  <tbody id="entries">
      <tr>
            <td>User's own name</td>
            <td><a href="" name="delete_row[]" class="remove self">remove</a></td>
      </tr>
      <tr class="leaderrow">
            <td><select name="leaderid[]" >
              <option value="3">Sue</option>
              <option value="4">Jeannie</option>
              <option value="5">Kerry</option>
              <option value="6">Travis</option>
               </select>
            </td>
            <td><a href="" name="delete_row[]" class="remove">remove</a></td>
       </tr>
    </tbody>
    <tfoot>
       <tr> 
            <td><p><input type="button" id="addRow" value="Add Another" /></p></td>
       </tr>
    </tfoot>
</table>

1 个答案:

答案 0 :(得分:2)

$("a.remove").live('click', function(){
   if($(this).parents('tr').siblings().size() > 1)
       $(this).parents('tr').remove();
   else
       alert('cant remove');
   return false; // prevent link to jump to a page.
});

(未经测试的代码,但你明白了)