jquery 下 文本框内容选中效果

zhangzhen900530 2011-09-19 04:09:56
文本框内容如下:
特锐德(300001),浦发银行(600000),上电B股(900901)
3条数据, 想实现,点击某个数据,这个数据被选中 ,如果 光标在 “”后面, 那么“浦发银行(600000)”应被选中
如果在“”后面 ,那么“特锐德(300001)”应被选中

代码如下:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>测试</title>
</head>
<script language="JavaScript" type="text/javascript" src="Script/jquery-1.6.2.min.js"></script>
<script language="JavaScript" type="text/javascript" src="Script/jquery-position.js"></script>
<script language="JavaScript" type="text/javascript">

function sre(obj){

var ids=$("#"+obj.id); //获取id
var vv=$("#"+obj.id).val();//获取值
ids.position; //光标位置

}
</script>
<body>
<input type="text" value="浦发银行(600000),特锐德(300001),上电B股(900901)" id="tsf" onclick="sre(this)"/>
<input type="text" value="123456789"/>
</body>
</html>
...全文
941 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhangzhen900530 2011-09-20
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 chenyingshu880603 的回复:]

http://xiaohaizhu83.blog.163.com/blog/static/309742201081744420223/
楼主看看
[/Quote]
这个还能我做的好呢- -!,我就是想实现,选中光标所在的数据,(PS:每条数据是以逗(,)号分开的)
Gemini Dean 2011-09-20
  • 打赏
  • 举报
回复
http://xiaohaizhu83.blog.163.com/blog/static/309742201081744420223/
楼主看看
光曰不日 2011-09-20
  • 打赏
  • 举报
回复
这个真不知道,功能上觉得不是很靠谱
zhangzhen900530 2011-09-20
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 andrewsway 的回复:]

.select();
[/Quote]
我也知道.select(); - -!那是全选中了- -
zhangzhen900530 2011-09-20
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 ganlu423 的回复:]
修正版:
JScript code


function SelecttextTest(o) {
//当前光标位置
var cpostion = getPos(o);
var sv = o.value;
//把,的位置存起来
var arr = new Array();
arr.pus……
[/Quote]
获取光标位置的方法,FF下不行,自己解决了,谢谢了
zhangzhen900530 2011-09-20
  • 打赏
  • 举报
回复
明白了,我试试,谢谢了
zhangzhen900530 2011-09-20
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 ganlu423 的回复:]

修正版:
JScript code


function SelecttextTest(o) {
//当前光标位置
var cpostion = getPos(o);
var sv = o.value;
//把,的位置存起来
var arr = new Array();
arr.pu……
[/Quote]
这个参数 o 页面传是什么啊?
ganlu423 2011-09-20
  • 打赏
  • 举报
回复
修正版:


function SelecttextTest(o) {
//当前光标位置
var cpostion = getPos(o);
var sv = o.value;
//把,的位置存起来
var arr = new Array();
arr.push(0);
for (var i = 0; i < sv.length; i++) {
if (sv[i] == ",") {
arr.push(i);
}
}
arr.push(sv.length);
//起始位置
var sn = 0;
//结束位置
var en = 0;
for (var j = 0; j < arr.length-1; j++) {
if (cpostion >= arr[j] && cpostion <= arr[j + 1]) {
if (j == 0) {
sn = arr[j];
en = arr[j + 1];
}
else {
sn = arr[j] + 1;
en = arr[j + 1];
}
}
}
selectText(o, sn, en);

}

//得到文本框内光标位置
function getPos(obj) {
var s = document.selection.createRange();
s.setEndPoint("StartToStart", obj.createTextRange())
return s.text.length;
}


//选中文本框中的一段文字
function selectText(textBox, startIndex, endIndex) {/*文本框,起始位置,结束位置*/
if (textBox.setSelectionRange) {/*ff,chrome,safari,opera都支持这个方法,只有ie不支持,但它提供了另外的方法实现相同的功能*/
textBox.setSelectionRange(startIndex, endIndex);
} else if (textBox.createTextRange) {/*ie的实现方法*/
var range = textBox.createTextRange();
range.collapse(true);
range.moveStart("character", startIndex);
range.moveEnd("character", endIndex - startIndex);
range.select();
}
textBox.focus();
}
ganlu423 2011-09-20
  • 打赏
  • 举报
回复


function SelecttextTest(o) {
//当前光标位置
var cpostion = getPos(o);
var sv = o.value;
//把,的位置存起来
var arr = new Array();
arr.push(0);
for (var i = 0; i < sv.length; i++) {
if (sv[i] == ",") {
arr.push(i);
}
}
arr.push(sv.length - 1);
//起始位置
var sn = 0;
//结束位置
var en = 0;
for (var j = 0; j < arr.length-1; j++) {
if (cpostion >= arr[j] && cpostion <= arr[j + 1]) {
sn = arr[j];
en = arr[j + 1];
}
}
selectText(o, sn, en);

}

//得到文本框内光标位置
function getPos(obj) {
var s = document.selection.createRange();
s.setEndPoint("StartToStart", obj.createTextRange())
return s.text.length;
}


//选中文本框中的一段文字
function selectText(textBox, startIndex, endIndex) {/*文本框,起始位置,结束位置*/
if (textBox.setSelectionRange) {/*ff,chrome,safari,opera都支持这个方法,只有ie不支持,但它提供了另外的方法实现相同的功能*/
textBox.setSelectionRange(startIndex, endIndex);
} else if (textBox.createTextRange) {/*ie的实现方法*/
var range = textBox.createTextRange();
range.collapse(true);
range.moveStart("character", startIndex);
range.moveEnd("character", endIndex - startIndex);
range.select();
}
textBox.focus();
}


这个还有点小问题,楼主自己改改吧
andrewsway 2011-09-19
  • 打赏
  • 举报
回复
.select();

87,989

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧