我正在嘗試在輸入字段中進行值替換。它幾乎正常工作。問題是,它增加值輸入結束時,我只想把它添加到一個位置值替換將值錯誤地添加到輸入的末尾
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