如何使用jQuery调整表中每个asp.net多行文本框的行数?

时间:2014-03-12 12:36:06

标签: c# javascript jquery asp.net

我有一个包含多行的表。这些行包含一个asp.net多行文本框

<table>
    <tr>
        <td>Invoice 1</td>
        <td><asp:TextBox ID="invoiceDesc" runat="server" Rows="1" TextMode="MultiLine"></asp:TextBox></td>
    </tr>
    <tr>
        <td>Invoice 2</td>
        <td><asp:TextBox ID="invoiceDesc" runat="server" Rows="1" TextMode="MultiLine"></asp:TextBox></td>
    </tr>
    <tr>
        <td>Invoice 3</td>
        <td><asp:TextBox ID="invoiceDesc" runat="server" Rows="1" TextMode="MultiLine"></asp:TextBox></td>
    </tr>
</table>

使用asp.net gridview控件呈现该表。我正在尝试根据加载的内容调整每个文本框的行数。

到目前为止,我已尝试将以下代码添加到$(document).ready:

var text = $("#<%=invoiceDesc.ClientID%>").val();   
var lines = text.split(/\r|\r\n|\n/);
var count = lines.length;
$('#<%=invoiceDesc.ClientID%>').attr('rows', count);

但上面的jQuery代码不起作用。

1 个答案:

答案 0 :(得分:0)

替换下面给出的javascript代码并传递textarea id而不是我用作样本的测试。

        var count = 20;  //set the cols attribute of the textarea here i have set it to 20 just for an example which is by default for HTML textarea 
        var lineCount = ($('#test').val().length / count); 
        var lineBreaksCount = ($('#test').val().split('\r\n')); 
        alert(Math.round(lineCount)+1);

我希望这能解决你的问题:)