如何获取textbox中的选定字符串在整个字符串中的位置

trickglom 2012-01-13 12:47:28
例如,在textbox中输入字符串“123456789123456789”,通过鼠标选择第一次出现的“23”这个字符串,如何得到第一次出现的“23”这个字符串在“123456789123456789”整个字符串的位置。
...全文
316 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
p2227 2012-01-15
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 trickglom 的回复:]

selectionEnd,selectionStart是IE9才有的。不过找到解决之道http://www.code-design.cn/article/20110611/javascript-input-selectionstart.aspx
[/Quote]ie?一般只用来登录网银和一些zf网站
p2227 2012-01-13
  • 打赏
  • 举报
回复
<body>
<input type="text" id="t" onselect="os(event)"/>
<script language="javascript">
os = function(event){
event = event || window.event;
var which = event.currentTarget || event.srcElement;
var sv = which.value.substring(which.selectionEnd,which.selectionStart);
alert( which.value.indexOf(sv) );
}
</script>
</body>
trickglom 2012-01-13
  • 打赏
  • 举报
回复
看来我没说明白。
想想看,如果我是选择第二次出现的"23"呢?
也就是说我不能确定具体会选择哪一部分。用document.selection.createTextRange()能得到所选定的文本,但不知道如何得知所选文本在整个文本中的位置
无涯自成一方 2012-01-13
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 soonfei 的回复:]
JScript code
var str = "123456789123456789";
var atChar = str.indexOf("23");
alert(atChar);
[/Quote]
+1
trickglom 2012-01-13
  • 打赏
  • 举报
回复
selectionEnd,selectionStart是IE9才有的。不过找到解决之道http://www.code-design.cn/article/20110611/javascript-input-selectionstart.aspx
诺维斯基 2012-01-13
  • 打赏
  • 举报
回复
var str = "123456789123456789";
var atChar = str.indexOf("23");
alert(atChar);

87,915

社区成员

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

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