jquery 点击编辑按钮 当前行tr 中的td 全部 变为input

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jquery 点击编辑按钮 当前行tr 中的td 全部 变为input相关的知识,希望对你有一定的参考价值。

对的 这样做完全没有任何意义,但是我知道你的意思,就是能让表格td变成可编辑的input,
可以这样 在td里面在嵌套一个span标签用于存放数据,当单击span标签的时候 在替换成input标签就可以了
参考技术A js代码:
$(".edit").click(function()
var t_this = $(this);
var list=$(t_this).parent().parent().find("td:lt(2)");
$.each(list,function(i,obj)
$(obj).html("<input type='text' value='"+$(obj).text()+"'/>");
);

);

html代码:
<table>
<tr>
<td>1</td>
<td>2</td>
<td><input type="button" class="edit" value="编辑"/></td>
</tr>
</table>
大致上的代码就是这样了,希望对你有所帮助。追问

    大致上的代码就是这样了??

追答

是啊,你可以按照你自己的需求进行修改啊。以下代码仅供参考:
html代码:

1
2

js代码:

$(document).ready(function ()
$(".edit").live("click", function ()
var t_this = $(this);
var list = $(t_this).parent().parent().find("td:lt(2)");
var html = encodeURIComponent($(t_this).parent().parent().html());
$.each(list, function (i, obj)
$(obj).html("");
);
$(t_this).parent().html("");
);
$(".save").live("click", function ()
var t_this = $(this);
var list = $(t_this).parent().parent().find("td :input[type='text']");
$.each(list, function (i, obj)
$(obj).parent().html($(obj).val());
);
$(t_this).parent().html("");
);
$(".cancel").live("click", function ()
$(this).parent().parent().html(decodeURIComponent($(this).attr("html")));
);
);

参考技术B $(function()
$('#save').hide();
$('#edit').click(function()
$(this).closest('td').siblings().html(function(i,html)
return '<input type="text" value='+html+' />';
);
$(this).hide();
$('#save').show();
)
)

<table id="tab">
<tr><td>td1</td><td>td2</td><td><button id="edit">edit</button><button id="save">save</button></td></tr>
</table>
参考技术C 这样有意义嘛,tr中td没了,也就是表格的结构被破坏了

jQuery:点击按钮删除最近的内容需要什么

我有一个HTML表,其中包含一个TH行和几个动态添加的TR。每个TR在最后一列中都有一个按钮。

我需要什么才能通过点击按钮将最近的TR从表中删除?我尝试使用$(this).closest.remove(),但这没有用,所以我想我需要在这里添加ID或其他东西。

基本示例表如下所示:

<table class='tableClass'>
    <tbody>
        <th>
            <td>Text</td><td>Text</td><td>Text</td>
        </th>
        <tr>
            <td>Text</td><td>Text</td><td><button type='button' class='btnClass'>Delete</button></td>
        </tr>
        <tr>
            <td>Text</td><td>Text</td><td><button type='button' class='btnClass'>Delete</button></td>
        </tr>
        <tr>
            <td>Text</td><td>Text</td><td><button type='button' class='btnClass'>Delete</button></td>
        </tr>
    </tbody>
</table>
答案

你需要给closest函数一个选择器。试试这个:

$('.btnClass').click(function() {
    $(this).closest('tr').remove();
});

此外,您的HTML无效,因为th应该是tr的孩子:

<table class='tableClass'>
    <tbody>
        <tr>
            <th>Text</th>
            <th>Text</th>
            <th>Text</th>
        </tr>
        <tr>
            <td>Text</td>
            <td>Text</td>
            <td>
                <button type='button' class='btnClass'>Delete</button>
            </td>
        </tr>
        <tr>
            <td>Text</td>
            <td>Text</td>
            <td>
                <button type='button' class='btnClass'>Delete</button>
            </td>
        </tr>
        <tr>
            <td>Text</td>
            <td>Text</td>
            <td>
                <button type='button' class='btnClass'>Delete</button>
            </td>
        </tr>
    </tbody>
</table>

Example fiddle

另一答案

您可以使用.closest( selector )正确地执行此操作:

$(this).closest('tr').remove();

实际上在你的代码中:

$(this).closest.remove()
            ___^___

你缺少开括号和右括号()和选择器tr

另一答案

http://jsfiddle.net/cpvh9/

$(".btnClass").click(function(){
        $(this).parents('tr').remove();
    });
另一答案

从您的HTML代码看起来您​​想删除父TR,试试这个

$(".btnClass").click(function(){
    $(this).parents("tr:first").remove();
});

以上是关于jquery 点击编辑按钮 当前行tr 中的td 全部 变为input的主要内容,如果未能解决你的问题,请参考以下文章

js 表格的每一行都有一个按钮 点击按钮修改当前行某一列的信息

怎么用jquery通过点击全选按钮实现全选 全不选

jQuery 获取<td>标签内容,判断后,隐藏<tr>标签。

jquery里怎么用clone给表格增加一行

jquery 怎么得到当前tr在当前table中的位置?

jquery获取table中点击位置所在行的id