码迷,mamicode.com
首页 > Web开发 > 详细

jquery通过textarea的字符位置控制光标位置,通过输入月份位置,跳转到输入日的位置,输入日后跳转至末尾

时间:2018-09-11 18:06:10      阅读:366      评论:0      收藏:0      [点我收藏+]

标签:jquer   jquery   cti   ==   输入   ring   click   tst   focus   

$(item).on("click", function () {
  var inputStr = ‘‘;
  var startPosition = 0;
  var strYear = new Date().getFullYear();
  if ($(item).hasClass(‘read-option‘)) {
  inputStr = strYear + ‘年 月 日圈阅。‘;
  } else if ($(item).hasClass(‘approval-option‘)) {
  inputStr = strYear + ‘年 月 日批示:‘;
  } else if ($(item).hasClass(‘over-option‘)) {
  inputStr = ‘已于‘ + strYear + ‘年 月 日将领导批示复印件送‘;
  } else if ($(item).hasClass(‘clear-option‘)) {
  inputStr = ‘‘;
  }
  startPosition = inputStr.indexOf(‘月‘) != -1 ? inputStr.indexOf(‘月‘) : 0; // 得到当前月的位置
  var dayPosition = inputStr.indexOf(‘日‘) != -1 ? inputStr.indexOf(‘日‘) : 0; // 得到当前日的位置
  $text_content.val(inputStr);
  moveTextPosition($text_content[0], startPosition);

});

// 当值改变时
$(‘#opinionContent‘).on(‘keyup‘, function () {
  var val = $(this).val();
  var monthPosition = val.indexOf(‘月‘) != -1 ? val.indexOf(‘月‘) : 0; // 得到当前月的位置
  var dayPosition = val.indexOf(‘日‘) != -1 ? val.indexOf(‘日‘) : 0; // 得到当前日的位置

  var month2 = $.trim(val.substring(monthPosition - 3, monthPosition));
  var day2 = $.trim(val.substring(dayPosition - 3, dayPosition));
  var month2ParseInt = parseInt(month2);
  var day2ParseInt = parseInt(day2);

  if (month2ParseInt <= 12 && month2ParseInt > 0 && month2.length === 2 && isNaN(day2ParseInt)) {
    moveTextPosition($text_content[0], dayPosition);
  }
  if (parseInt(day2) <= 31 && parseInt(day2) > 0 && day2.length === 2 && !isNaN(day2ParseInt)) {
    var count = val.length / 1024;
    var textLen = parseInt(Math.round(count * Math.pow(10, 4)));
    moveTextPosition($text_content[0], textLen);
  }
});
// 光标的位置
function moveTextPosition(obj, startPosition) {
obj.focus();
if (document.selection) {
var sel = obj.createTextRange();
sel.moveStart(‘character‘, startPosition);
sel.collapse(true);
sel.select();
} else if (obj.setSelectionRange) {
//obj.selectionStart = obj.selectionEnd = startPosition;
obj.setSelectionRange(startPosition, startPosition);
}
}

jquery通过textarea的字符位置控制光标位置,通过输入月份位置,跳转到输入日的位置,输入日后跳转至末尾

标签:jquer   jquery   cti   ==   输入   ring   click   tst   focus   

原文地址:https://www.cnblogs.com/huachuan/p/9629080.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!