Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 22.03.2011, 17:54
Аспирант
Отправить личное сообщение для tazododu Посмотреть профиль Найти все сообщения от tazododu
 
Регистрация: 18.02.2010
Сообщений: 90

Поомгите убрать передачу ID
Есть
<textarea id="short_description"></textarea>
<div class="notify2" id="short_description_left"></div>


Сделал проверку ограничения символов
function check_field_length(event) {
	var maxlength = event.data.maxlength;
	var fieldname = event.data.fieldname;
	var dif = maxlength - $(fieldname).val().length;
	if(dif < 0) {
		var message = '<span style="color:red">превышено допустимое кол-во символов на ' + dif + '</span>'
	}else {
		var message = "осталось символов " + dif;
	}
	$(fieldname + "_left").html(message);
}

$(function() {
  $("#short_description")
     .bind("keydown keyup paste click", {maxlength: 60, fieldname: '#short_description'}, check_field_length)
     .click();
});


как бы подпилить, чтобы не нужно было передавать fieldname, как можно получить ID textarea внутри check_field_length?
Ответить с цитированием
  #2 (permalink)  
Старый 22.03.2011, 18:52
Аспирант
Отправить личное сообщение для tazododu Посмотреть профиль Найти все сообщения от tazododu
 
Регистрация: 18.02.2010
Сообщений: 90

если же писать функцию прям внутри bind, this есть. но как же сделать если необходимо использовать отдельную функцию?

$("#category-autocomplete").bind("keydown keyup paste click", 
		{num: 100},
		function(event) { 
			var num = event.data.num;
			var id = $(this).val("id"); 
			alert(id);
		}
	);
Ответить с цитированием
  #3 (permalink)  
Старый 22.03.2011, 21:59
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,126

Вариант установки и индикации maxlength для textarea и input ...
<!DOCTYPE html>
<html>
<head>
  <title></title>
 <script src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.js"></script>
  <script type="text/javascript">
 (function (a) {
    a.fn.setMaxlength = function () {
        var e = arguments;
        return this.each(function (i) {
                var b = a(this),
                c = e[i]||"50";
            b.attr("maxlength")&&b.attr("maxlength", c);
            var d = a("<span />").css({
                color: "#FF0000"
            });
            b.after(d);
            d.html("({num} out of {max})".replace("{num}", b.val().length).replace("{max}", c));
            b.bind("keypress keydown keyup paste click mouseup", function (e) {
                var g = a(this).val();
                 if (g.length >= c){
                 a(this).val(g.substring(0,c));
            d.html("Max = "+c);
                }

           else     d.html("({num} out of {max})".replace("{num}", g.length).replace("{max}", c))
            })
        })
    }
})(jQuery);

 $(function() {
 $("textarea, input").setMaxlength(60,15,10);
 //$("#short_description").setMaxlength(60);
});
</script>
</head>

<body>
<textarea id="short_description"  cols="60"></textarea>
<br />
<input name="a" />
<br />
<input name="b" />
<br />
<input name="c" />
<br />
<input name="d" />
<br />
</body>
</html>
Ответить с цитированием
  #4 (permalink)  
Старый 23.03.2011, 09:46
Аспирант
Отправить личное сообщение для tazododu Посмотреть профиль Найти все сообщения от tazododu
 
Регистрация: 18.02.2010
Сообщений: 90

рони
спасибо за пример. но все же хотелось бы узнать, как передать this в функцию bind?...
Ответить с цитированием
  #5 (permalink)  
Старый 23.03.2011, 09:56
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,126

tazododu,
event.currentTarget
Ответить с цитированием
  #6 (permalink)  
Старый 24.03.2011, 11:50
Аспирант
Отправить личное сообщение для tazododu Посмотреть профиль Найти все сообщения от tazododu
 
Регистрация: 18.02.2010
Сообщений: 90

рони
спасибо, почитаю.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Убрать курсор lastbronetrain ExtJS 5 13.12.2010 16:01
Нужно убрать картинку valeriys Общие вопросы Javascript 5 13.09.2010 13:40
Как убрать последний перенос строки? mff Общие вопросы Javascript 6 25.05.2010 17:08
как убрать предупреждение из IE? bsgroupua Элементы интерфейса 2 14.01.2010 14:29
Как убрать выделение в Опере у div, получившего фокус ? spa_2002 Opera, Safari и др. 5 03.09.2009 10:42