更新表格单元格上的值

时间:2013-07-22 15:51:45

标签: jquery html

我有一个表,我希望用户能够动态更新(但不能使用可编辑表插件,因为我需要使用表单发送其他值)。

我想在单元格单元格中显示表格单元格中的表格。我已经允许他们点击单元格(并显示表单),但他们无法单击新文本框,因为它们再次点击了表格单元格。

这是我的JQuery:

$(function(){
// clicking on a TD cell
$('td').click(function(){
    // check that it's a valid cell
    if($(this).attr('employee').length > 0){;
        // is it an active shift?
        if($(this).attr('activeshift') == 1){
            // yes
        }else{
            // no - we show the form
            var form = '<form class="add_shift" id="add_shift"> \
                    <input type="text" name="shift" /> \
                    <input type="hidden" name="employee" value="' + $(this).attr('employee') + '" /> \
                    <input type="hidden" name="day" value="' + $(this).attr('day') + '" /> \
                    <input type="hidden" name="current_week" value="' + $(this).attr('current_week') + '" /> \
                    <br /> \
                    <small>Ex: 09:00 - 17:00 or 22:00 - 06:00</small> \
                </form>';
            // update content
            $(this).html(form);
        }
    }
});

});

这是一个示例单元格:

<td employee="10" day="3" current_week=1" activeshift=""></td>

如何允许用户单击单元格中的输入?

如果他们点击离开单元格,有没有办法删除内容?

提前致谢。

2 个答案:

答案 0 :(得分:1)

使用jquery .off()

$('td').click(function(){
   $(this).off('click');

http://jsfiddle.net/fG35u/

答案 1 :(得分:0)

您需要使用stopPropagation方法:

$('td').click(function(e){
e.stopPropagation()
// rest of your code here

这应该可以解决问题