0
<input type="text" rel="Credit card number" class="defaultColor" name="cc_num" id="txtCardNumber" runat="server" maxlength="20" onblur="cc_number_saved = this.value; this.value = this.value.replace(/[^\d]/g, '');" onfocus="if(this.value != cc_number_saved) this.value = cc_number_saved;"/>

我正在保存信用卡的价值并替换非数字字符 onblur 并将它们再次放在焦点上(基本上是空格和破折号)。如果有更多房间,该字段将被创建多次(我的意思是如果用户选择多个房间,我们将在不同容器中为每个房间填充信用卡字段。

目前,如果我在其他房间输入不同的信用卡信息,它将用第一个房间替换值,我如何为这个信用卡字段的每个房间创建不同的实例。我已经在全局范围内声明了变量,所以它引起了我相信的问题。但不确定如何使用当前方法将每个生成的输入信用卡字段设为私有。

var cc_number_saved = "";

如果不清楚,请告诉我。

4

1 回答 1

0

使用 jQuery 将值附加到表示相关输入的 DOM 元素。

在输入上有一个 id:

<input id = 'input1' >

然后,您可以为附加到输入的数据字段分配一个值,如下所示:

$('#input1').on('blur', function(){
    $(this).data('temp', $(this).val();
}

...无论您对输入的值做什么,都保留该值。

然后像这样再次检索它:

var originalVal = $('#input1').data('temp');

然后将操纵值应用回输入,如下所示:

var newVal = someFunction(originalVal);
$('#input1').val(newVal);

...管他呢。

于 2012-07-29T11:39:05.790 回答