<input />上的值突然改变Click / Focus

时间:2013-06-27 14:41:53

标签: javascript jquery browser-cache maskedinput

这是使用jquery的简单脚本,我的主要问题是 第1步:点击第5行Step 1 when click row no 5

第2步:点击第3行Step 2 when click row no 3

第3步:点击输入Step 3 when click on input

我的问题,为什么我点击输入后数据会发生变化?输入的信息我使用自定义maskedinput definition $.mask.definitions['~'] = '[-_A-Za-z0-9 ]';。请帮我搞清楚。这是我从以下方式获取数据的方式:

for(var i = 0; i < _field.length; i++){
  if(_field[i].type !== 'money')
     $formWrapper.find('input[name=' + _field[i].id + ']').val($data.find('td:eq(' + (i + 2) + ')').html());
  else
     $formWrapper.find('input[name=' + _field[i].id + ']').val($data.find('td:eq(' + (i + 2) + ')').html().replace(/,/g, ''));
}

这里 JSFiddle Demo 供您参考,有什么想法吗?

1 个答案:

答案 0 :(得分:0)

最后,我可以与maskedinput开发人员联系,解决方法是调用blur()来重新屏蔽它here

$('#step1').bind('click', function(){
    $('#i').val('').blur();
});

$('#step2').bind('click', function(){
    $('#i').val('1').blur();
});

$.mask.definitions['~'] = '[-_A-Za-z0-9 ]';
$('#i').mask('~?~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~', {placeholder: ""});