我正在尝试在输入字段中进行值替换。它几乎正常工作。问题是,它增加值输入结束时,我只想把它添加到一个位置值替换将值错误地添加到输入的末尾
HTML:
<input id="boom" value="03/15/0212" />
Jquery的:我已经硬编码一些值从将所有功能
保持$('#boom').on('keypress', function (e)
{
var crs = this.selectionStart;
var from;
var to;
var sub;
_dateSection = 'month';
var currentObj = this;
var currentVal = $(this).val();
var c = String.fromCharCode(e.which);
var stringSplit = currentVal.split('/');
switch (_dateSection) {
case 'month':
_currentDateValue = stringSplit[0];
from = 0;
to = 2;
sub = currentVal.substring(from, to);
break;
case 'day':
_currentDateValue = stringSplit[1];
from = 3;
to = 6;
sub = currentVal.substring(from, to);
break;
case 'year':
_currentDateValue = stringSplit[2];
from = 6;
to = 10;
sub = currentVal.substring(from, to);
break;
};
var check = false;
if (!check) {
$(currentObj).val(function (index, value)
{
return value.replace(sub, c);
});
}
});
如果你加3到当前填充了03它取代了输入的月份部分是正确地搭配3,BU这也增加了3到年底。这使得今年以来,20123当打之年值应保持2012年
的最终值应是
3/15/2012
不
3/15/2
编辑:
这个代码给出了同样的问题:
$(currentObj).val(currentVal.replace(sub, c));
为做到这一点
var replaceValue = currentVal.replace(sub, c)
$(currentObj).val(replaceValue);
为什么把一个函数放入val中?这可能会引入范围和外壳问题 – kappa 2012-03-29 06:33:45
我更新了代码和提琴里面没有功能。仍是同样的问题。 – 2012-03-29 07:11:52