使用输入表单更改表的单元格内容

时间:2011-02-03 15:10:42

标签: javascript

对于使用Javascript的练习,我创建了一个表,根据您单击的单元格,它会更改该单元格的背景颜色。现在我正在尝试设置我的表,以便当您单击一个单元格时,它会打开一个输入框,您可以在其中更改单元格的内容。我认为这将是一个10分钟的项目,转而计算出一小时。任何帮助或想法都会有所帮助。谢谢!

2 个答案:

答案 0 :(得分:1)

如果您提供了目前正在使用的代码,那将会很有帮助。

这是一个通用示例,其中TD包含一个输入和一个文本节点。

工作示例: http://jsfiddle.net/NCQv2/

HTML

<table>
    <tr><td>CLICK HERE<input></td></tr>
</table>

CSS

input {
    display:none;
}

javascript

var td = document.getElementsByTagName('td')[0];

td.onclick = function(e) {
    var e = e || event;
    var target = e.target || e.srcElement;
    if( target.nodeName !== "INPUT" ) {
        var input = this.getElementsByTagName('input')[0];
        if( input && input.style.display !== 'inline' ) {
            input.style.display = 'inline';
            input.value = this.firstChild.data;
            input.previousSibling.data = '';
            input.focus();
        }
    }
};

td.getElementsByTagName('input')[0].onblur = function() {
    this.previousSibling.nodeValue = this.value;
    this.style.display = 'none';
};

答案 1 :(得分:0)

不太强硬。这是一个工作样本。

http://jsfiddle.net/B5rvp/2/

$('td').click(function(){
    var answer = prompt("Enter New Value", '');
    $(this).html( answer );        
});