我在这里有一个jsfiddle:http://jsfiddle.net/XM8hG/33/embedded/result/

要查看小提琴的代码,请单击此处:http://jsfiddle.net/XM8hG/33/

要使用小提琴,请执行以下步骤:


在顶部单击打开的网格并选择按钮3,然后单击“添加问题”按钮以将表格的行追加到下面的表格中,您可以看到文本区域填充了表格单元格。
现在回到顶部,再次单击打开的网格,但这一次选择按钮26,然后单击“添加问题”按钮以将表格行追加到下面的表格中,您可以看到文本区域没有填充表格单元格。这是因为它占用更多空间,并且表单元格增加了。


现在,如果刷新小提琴并反转步骤,则首先执行步骤2,然后执行步骤1,您将看到两个表单元格中的文本区域都填充行,因为第一表行大于第二表行。

但是我需要在下面的代码中包含什么才能实现反向解决方案,以便如果最后一个表行较小,那么如果行较大,则textarea应该能够填充下一行的表单元格?

下面是在小提琴中注释的主要代码,以便在选项更改时将文本区域填充到表格单元格中:

//CHANGE TEXTAREA HEIGHT
    var _x = $(e.currentTarget);
    var _y = _x.closest('td.extratd');
    var _z = _y.prev();

    $('textarea', _z).css('height', '').height(_z.innerHeight())

最佳答案

将setWidth()函数更新为

function setWidth() {
    $(".textAreaQuestion").each(function(){
     var questionCellWidth = $(this).closest(".question").width();
    var questionCellHeight = $(this).closest(".question").height();
    $(this).css({
        "width": (questionCellWidth - 6) + "px",
        "height": (questionCellHeight) + "px"
    });

    });
  }


http://jsfiddle.net/XM8hG/34/

关于jquery - 如何更改追加表行的textarea高度大于上一行?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14126347/

10-12 07:01