Add Textarea Row for Every Line Break
jQuery
By | Friday, February 10, 2012




Hide Comments





Code:
<html>
<head>
<script src="http://wcetdesigns.com/assets/javascript/jquery.js"></script>
<script>
$(function(){
$('#t').keyup(function(){
var v = $(this).val(); //STRING INSIDE TEXTAREA
var r = 1; //TEXTAREA ROWS (MUST MATCH THE INTERNAL CSS VALUE)
for(i= 0; i<v.length; i++){
//CHECKS FOR LINE BREAKS, WHICH WOULD CALL FOR EXTENSIONS
var vs = v.substr(i, 1);
if(vs=="\n"){ //'\n' IS THE LINE BREAK PATTERN
r++; //ADDS ONE ROW FOR EVERY LINE BREAK
}
}
$(this).attr("rows", r); //CSS PROPERTIES ALTERED FOR EVERY LINE BREAK
});
});
</script>
<style>
#t {
font-size: 12px;
overflow: hidden; !important /*MAY STILL HAVE A SCROLL DUE TO FONT-SIZE*/
resize: none;
}
</style>
</head>
<body>
<textarea id="t" cols="20" rows="1"></textarea>
</body>
</html>