ASP.net + JS多个文本框字符计数器

时间:2018-03-27 05:52:52

标签: javascript jquery asp.net

我尝试创建jquery脚本,该脚本将计算多行文本框中的字符数。当我为单身一个人做的时候,一切都很好。但我有很多多行文本框。我可以使我的sript更强大,所以我不必手动设置每个文本框?我是为单个文本框制作的:

这是我的文本框:

<asp:TextBox ID="TextBox585" runat="server" Width="99%" TextMode="MultiLine"  ToolTip = "blabla"></asp:TextBox>
                        <br />
                        <div id="TextBox585_feedback" style="text-align: right">
附加的

脚本:

<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
<script type="text/javascript">
    $(document).ready(function () {
        var text_max = 1000;
        function ValidateTextBoxLen(textBox, textBoxFeedBack) {
            var text_length = textBox.val().length;
            var remaining = text_max - text_length;
            if (remaining < 0) {
                textBoxFeedBack.html('Will be cut ' + (0 - remaining) + ' characters.');
            } else {
                textBoxFeedBack.html('Remaining characters: ' + remaining);
            }
        }
     $('#MainContent_TextBox585').keyup(function () { ValidateTextBoxLen($('#MainContent_TextBox585'), $('#TextBox585_feedback')); });


    });
    </script>

和VB.net代码将最大字符设置为多行文本框:

TextBox585.Attributes.Add("maxlength", "1000")

1 个答案:

答案 0 :(得分:0)

只需更改脚本即可查看分配给每个文本框的类规则,因为您当前指的是文本框的ID,每个文本框始终是唯一的。

<asp:TextBox ID="TextBox585" runat="server" {class="validatable_textbox"} Width="99%" TextMode="MultiLine"  ToolTip = "blabla"></asp:TextBox>

然后可以将脚本修改为:

$(document).ready(function () {
        var text_max = 1000;
        function ValidateTextBoxLen(textBox, textBoxFeedBack) {
            var text_length = textBox.val().length;
            var remaining = text_max - text_length;
            if (remaining < 0) {
                textBoxFeedBack.html('Will be cut ' + (0 - remaining) + ' characters.');
            } else {
                textBoxFeedBack.html('Remaining characters: ' + remaining);
            }
        }
     $('#MainContent_TextBox585').keyup(function () { ValidateTextBoxLen($('.validatable_textbox')); });


    });

改变在这里:

$('#MainContent_TextBox585').keyup(function () { ValidateTextBoxLen($('.validatable_textbox')); });