mrp*_*atg 14 html jquery html-table
如何使用jQuery单击表格单元格并编辑其内容.有一个特定的列包含几段数据,因此如果可能的话,有一个带有大文本区域的弹出窗口(或者理想情况下是一个HTML编辑器).
这些更改只需要肤浅,因为我正在使用另一个jQuery插件来抓取表内容并将其导出到其他内容.
难度,没有一个单元格可以有唯一的名称或id.
Str*_*ixy 11
看到这个页面是如何3岁和谷歌搜索的第一个结果我认为这是一个更新的答案.考虑到上面插件选项的重量和复杂性,我认为对于那些寻找替代品的人来说,更简单,更简单,更直接的解决方案也是值得赞赏的.
这将使用文本输入替换表格单元格并调用自定义事件,以便您可以处理保存,关闭,模糊等所需的任何用例...
在这种情况下,更改单元格中信息的唯一方法是按Enter键,但如果您愿意,可以自定义,例如.你可能想节省模糊.
在此示例中,您还可以按Esc键停止编辑并将单元格恢复到原来的状态.如果您愿意,可以自定义.
这个例子只需点击一下,但有些人更喜欢双击,你的选择.
$.fn.makeEditable = function() {
$(this).on('click',function(){
if($(this).find('input').is(':focus')) return this;
var cell = $(this);
var content = $(this).html();
$(this).html('<input type="text" value="' + $(this).html() + '" />')
.find('input')
.trigger('focus')
.on({
'blur': function(){
$(this).trigger('closeEditable');
},
'keyup':function(e){
if(e.which == '13'){ // enter
$(this).trigger('saveEditable');
} else if(e.which == '27'){ // escape
$(this).trigger('closeEditable');
}
},
'closeEditable':function(){
cell.html(content);
},
'saveEditable':function(){
content = $(this).val();
$(this).trigger('closeEditable');
}
});
});
return this;
}
Run Code Online (Sandbox Code Playgroud)
您可以选择性地应用可编辑单元格,如此附加它们,或者对您的案例有意义的任何内容.
$('.editable').makeEditable();
Run Code Online (Sandbox Code Playgroud)
小智 5
试试这个简单的方案:
$(function () {
$("td").dblclick(function () {
var OriginalContent = $(this).text();
var inputNewText = prompt("Enter new content for:", OriginalContent);
if (inputNewText != null) {
$(this).text(inputNewText)
}
});
});
Run Code Online (Sandbox Code Playgroud)