
05 position:function( value ){
06 var elem = this[0]
07 if (elem&&(elem.tagName=="TEXTAREA"||elem.type.toLowerCase()=="text")) {
08 if($.browser.msie){
09 var rng
10 if(elem.tagName == "TEXTAREA"){
11 rng = event.srcElement.createTextRange()
12 rng.moveToPoint(event.x,event.y)
13 }else{
14 rng = document.selection.createRange()
15 }
16 if( value === undefined ){
17 rng.moveStart("character",-event.srcElement.value.length)
18 return rng.text.length
19 }else if(typeof value === "number" ){
20 var index=this.position()
21 index>value?( rng.moveEnd("character",value-index)):(rng.moveStart("character",value-index))
22 rng.select()
23 }
24 }else{
25 if( value === undefined ){
26 return elem.selectionStart
27 }else if(typeof value === "number" ){
28 elem.selectionEnd = value
29 elem.selectionStart = value
30 }
31 }
32 }else{
33 if( value === undefined )
34 return undefined
35 }
36 }
37 })
引用:http://www.oschina.net/code/snippet_4873_3395
可以使用jQuery来完成这个功能,示例如下:
HTML代码:
<textarea></textarea>定义了一个空的textarea文本框。
jQuery代码:
$('textarea').val('这是测试内容')页面运行结果:
如果原本textarea本来就存在值,想在原有值后面继续追加值:
var str = $('textarea').val() //先获取原有的值$('textarea').val(str + ',这是后面追加的值') //拼接新值
运行结果:
方式方法多种多样,可以灵活使用。
jquery给textarea赋值的方法跟普通input一样。举例说明,有如下代码:
$("<div id='x1'><textarea id='t1'></textarea>" +
"<textarea id='t2'></textarea></div>").appendTo("body")
那么给id='t1'的textarea赋值的方法如下:
$("#t1").text("AAA")
$("#t2").val("BBB")
分别说明两种写法的区别:
1、在IE下,不管用val()或text()赋值,后续的读取都正常;
2、在Firefox下,使用val()指定的值,画面上会出现,但是用text()或是透过html()检视时却是字串。因此在Firefox中,如果希望设定给textarea值出现在html()中或可以被clone(),请用text(...)设定。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)