ASP.NET TextBox - функция счетчика jQuery не запускается - PullRequest
1 голос
/ 26 ноября 2011

У меня есть функция jquery, которая должна подсчитывать символы, которые пользователь печатает в текстовом поле ASP.NET. Эта информация появится на:

<span ID="remaining" class="label">160 characters remaining</span>
<span ID="messages" class="msgleft">1 message(s)</span>   

The jQUery function is shown below:

 <script type="text/javascript">
        $(document).ready(function () {
            var $remaining = $('#remaining'),
        $messages = $remaining.next();

            $('#messagetext').keyup(function () {
                var chars = this.value.length,
            messages = Math.ceil(chars / 160),
            remaining = messages * 160 - (chars % (messages * 160) || messages * 160);

                $remaining.text(remaining + ' characters remaining');
                $messages.text(messages + ' message(s)');
            });
        });
</script>

Идентификатор текстового поля ASP.NET - текст сообщения, но функция / событие jQuery не запускается. Когда я использую текстовую область HTML, она работает нормально. Есть идеи?

Ответы [ 2 ]

2 голосов
/ 26 ноября 2011

Попробуйте это:

   //.net dynamic ClientID
   $('#<% = messagetext.ClientID %>').keyup(function () {
            var chars = this.value.length,
        messages = Math.ceil(chars / 160),
        remaining = messages * 160 - (chars % (messages * 160) || messages * 160);

            $remaining.text(remaining + ' characters remaining');
            $messages.text(messages + ' message(s)');
        });

или

   //jquery input id wildcard selector
   $("input:[id*=messagetext]").keyup(function () {
            var chars = this.value.length,
        messages = Math.ceil(chars / 160),
        remaining = messages * 160 - (chars % (messages * 160) || messages * 160);

            $remaining.text(remaining + ' characters remaining');
            $messages.text(messages + ' message(s)');
        });
0 голосов
/ 29 января 2013

Спасибо, сработало.Я должен был сделать небольшое изменение в этом:

$("[id$=messagetxt]").keyup(function () {
        var chars = this.value.length,
    messages = Math.ceil(chars / 160),
    remaining = messages * 160 - (chars % (messages * 160) || messages * 160);
        $('input[id=remaining]').val(remaining + ' characters remaining');
        $('input[id=messages]').val(messages + ' message(s)');
    });   
...