Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 如果附加表行大于上一行,如何更改文本区域高度?_Jquery_Html_Css - Fatal编程技术网

Jquery 如果附加表行大于上一行,如何更改文本区域高度?

Jquery 如果附加表行大于上一行,如何更改文本区域高度?,jquery,html,css,Jquery,Html,Css,我这里有一个JSFIDLE: 要查看小提琴的代码,请单击此处: 要使用小提琴,请执行以下步骤: 在顶部单击打开的网格并选择按钮3,然后单击“添加问题”按钮将行追加到下面的表格中,您可以看到文本区域填充了表格单元格 现在回到顶部,再次单击打开的网格,但这次选择按钮26,然后单击“添加问题”按钮将行追加到下面的表格中,您可以看到textarea没有填充表格单元格。这是因为它占用了更多的空间,并且表单元格增加了 现在,如果您刷新小提琴并反转步骤,那么您先执行步骤2,然后执行步骤1,您将看到两个表格单元

我这里有一个JSFIDLE:

要查看小提琴的代码,请单击此处:

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

  • 在顶部单击打开的网格并选择按钮3,然后单击“添加问题”按钮将行追加到下面的表格中,您可以看到文本区域填充了表格单元格

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

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

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

    以下是在选项更改时,为了将textarea填充到表格单元格而在FIDLE中注释的主代码:

    //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"
        });
    
        });
      }
    

    请参见

    高度有什么问题:100%?不管发生什么,它都会填满整个单元格。@cimmanon我确实有高度:100%在cssb中,但你正在用JS覆盖它。