使用JQuery在HTML表中添加或编辑元素

时间:2012-06-14 12:15:18

标签: jquery html

我有一个HTML表格,其中包含一些内容:

<table width='700px' id="employeetable" class="tablesorter" style='table-layout:fixed;'>
<thead>
    <tr>
        <th>Select to Edit</th>
        <th>Group Id</th>
        <th>User Id</th>
        <th>Object</th>
        <th>Read</th>
        <th>Update</th>
        <th>Insert</th>
        <th>Delete</th>
    </tr>
</thead>
<tbody>
    {foreach from=$privileges item=privilegesItem name=foo}
    <tr>
        <td align="center"><input id='{$smarty.foreach.foo.iteration}' type="radio" name="SelcetedObject" value= "{$privilegesItem['Object']}"/> </td>
        <td align="center">{$privilegesItem['group_id']}</td>
        <td align="center">{$privilegesItem['user_id']}</td>
        <td align="center">{$privilegesItem['Object']}</td>
        <td id='read_{$smarty.foreach.foo.iteration}'   align="center">{$privilegesItem['Read']}  </td>
        <td id='update_{$smarty.foreach.foo.iteration}' align="center">{$privilegesItem['Update']}</td>
        <td id='insert_{$smarty.foreach.foo.iteration}' align="center">{$privilegesItem['Insert']}</td>
        <td id='delete_{$smarty.foreach.foo.iteration}' align="center">{$privilegesItem['Delete']}</td>
    </tr>
    {/foreach}
</tbody>

我现在可以使用

删除元素
$("input[type='radio']:checked").each(function () {
        var id = this.id;
        var id_read = '#read_'+id;

        $(id_read).remove();

但是我想从表中编辑lement而不是删除它。 编辑:如果我的Read项目的值为10,我想将其变为2,或者不是有一个简单的值,我想用一个复选框替换它。

我怎么能这样做?用.add?

2 个答案:

答案 0 :(得分:1)

如果你想改变td元素中的文字,你可以做到

$(id_read).text("Permitted") //Forbidden
$(id_read).css() //change its style

如果您通过“编辑”解释您的意思,我可以提供更好的帮助

答案 1 :(得分:0)

可编辑的表听起来有点像你的意思。下面将使用输入替换您的数据进行编辑,然后再返回。

$(document).ready(function() {
    $(".tablesorter td").not(':first').on('click',null,function() {
       var data = $(this).html();
        if(!($(this).children('input').length > 0)) {
            $(this).html("<input type='text' id='focus' value='"+data+"' />").children().focus();
        }
    });

    $(".tablesorter td").on('blur','#focus',function() {
       $(this).parent().html($(this).val());
    });
});​

fiddle