Поомгите убрать передачу 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? :-? |
если же писать функцию прям внутри 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);
}
);
|
Вариант установки и индикации 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>
|
рони
спасибо за пример. но все же хотелось бы узнать, как передать this в функцию bind?... |
tazododu,
event.currentTarget |
рони
спасибо, почитаю. |
| Часовой пояс GMT +3, время: 18:06. |