2013-05-08 2 views
5

Есть ли способ с jQuery, чтобы узнать ширину текста, вставленного в поле ввода текста типа? Мне нужна эта информация, потому что мне нужно выполнить какую-то работу, когда это возможно. Также было бы очень полезно найти событие jQuery, которое возникает, когда пользователь вводит еще один символ в поле ввода, который сделает первый символ целого значения невидимым?Длина поля значения поля ввода

Пожалуйста, смотрите пример http://jsfiddle.net/J58ht/2/

<input style="width: 35px;" type="text"> <span></span> 


    $('input').on('keyup',function(){ 
     var input = $(this); 
     input.next("span").text(input.val().length + " chars"); 
}); 

Попробуйте ввести символы 123456 в поле ввода. При вводе char 6 первый символ 1 будет невидим.

Мне нужно это событие, когда значение перекрывает ввод.

+0

см этот пост: http://stackoverflow.com/questions/4723025/javascript-jquery- val-length-is-null-or-not-an-object – carrabino

+0

Пожалуйста, прочитайте вопрос в конце. Но опять же это моя вина, я должен писать ширину вместо длины. – eomeroff

+0

Если вы говорите, что поняли, что задали неправильный вопрос, вы должны отредактировать свой вопрос. – jessegavin

ответ

8

Вы можете найти длину значения с помощью метода jQuery val(), который возвращает текущее значение элемента формы в виде строки. Затем вы можете использовать length property из этой строки.

$('input').on('keyup',function(){ 
     alert('This length is ' + $(this).val().length); 
}); 

Вот рабочий пример на jsFiddle: http://jsfiddle.net/J58ht/

основанный на отредактированном вопрос он должен быть как

$('input').on('keyup',function(){ 
     var my_txt = $(this).val(); 
     var len = my_txt.length; 
     if(len > my_constant_length) 
     { 
      var res = my_txt.substring(1,my_constant_length); 
      $(this).val(res); 
     } 
}); 
+0

см. Мой комментарий. – eomeroff

+0

Вы просили найти длину ввода и .. ?? – Gautam3164

+0

Да, но в контексте визуального размера. Извините за то, что вы недостаточно точны. – eomeroff

2

Попробуйте использовать:

var LengthOfText = $("#txtInputText").val().length; 
+0

Пожалуйста, ознакомьтесь с моим комментарием – eomeroff

1

попробовать это

$("#txtInputText").val().length 

.length

+0

Почему downvote.Пожалуйста, выложите, прежде чем давать нисходящее зрение – PSR

+0

, что парень начал играть с моим ответом :) :) – Freelancer

+0

@Freelancer у некоторых людей нет работы. Так что они будут проходить время, делая это вот так: – PSR

0

вы можете попробовать

$("#target").val().length; 

И помните length не является функцией.

0
var value = $("#textFieldId").val(); 
var fieldLength = value.length 

Это работает.

0
To find out the length of text you can use 

var len = $("#id").val().length; 

$("#id").keyup(function(){ 
    var textLength = $(this).val().length; 
    if(textLength > 15){ 
    alert('Length is exceeded'); 
    //Do ur stuff; 
    } 
}); 
1

Вы можете использовать длина

jQuery(selector).val().length; 

Например,

 $('#id').val().length; 
     $('#class name').val().length; 
Смежные вопросы