0

这是使用 jquery 的简单脚本,我的主要问题是
第 1 步:单击第 5 行单击第 5 行时的第 1 步

第 2 步:单击第 3 行单击第 3 行时的第 2 步

第三步:点击输入第三步点击输入

我的问题,为什么当我点击输入时数据会改变?对于您的输入信息,我使用自定义 maskedinput 定义$.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供您参考,有什么想法吗?

4

1 回答 1

0

最后我可以联系到 maskedinput 开发者,解决方法是调用 blur() 来重新屏蔽

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

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

$.mask.definitions['~'] = '[-_A-Za-z0-9 ]';
$('#i').mask('~?~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~', {placeholder: ""});
于 2013-06-29T14:20:07.210 回答