Jquery - 将值分解为单独的输入字段

Jquery - Break up values into individual input fields

本文关键字:单独 输入 字段 分解 Jquery      更新时间:2023-09-26

以下应用副本的 excel 值并将其分解为单独的输入字段。

一切正常,但我失去了第一个价值。

例如,如果我创建 5 个条目。第一个输入字段的 id 是 001,第二个是 002 等。

当我复制并粘贴 excel 列时,002 的值被复制到 001 id。

这是我从 Excel 复制的数据

12345

!http://imgur.com/nxe6yDq

https://jsfiddle.net/jdarville/r9tp7762/1/

$( document ).ready(function() {
    $("#uncinfo").bind("paste", function(e){
        // access the clipboard using the api
        var pastedData = e.originalEvent.clipboardData.getData('text');
        arr = pastedData.split(/'s+/);
        for(i=1; i < arr.length; i++){
            $("#unc"+i).val(arr[i]);
        }
    } );
});

$("#uncinfo").bind("paste", function(e){
				// access the clipboard using the api
				var pastedData = e.originalEvent.clipboardData.getData('text');
				arr = pastedData.split(/'s+/);
				for(i=1; i <= arr.length; i++){
					$("#unc"+i).val(arr[i -1]);
				}
			});

检查这个

尝试将i更改为 0

    for(var i=0; i < arr.length; i++){
        $("#unc"+i).val(arr[i]);
    }

发生这种情况是因为您的数组从 0 开始,而您的输入是从 1 开始的,例如,对于用户名,您应该使用:

for(i=0; i < arr.length; i++){
    $("#user"+(i+1)).val(arr[i]);
}

在此处测试此方法:

https://jsfiddle.net/1jpL4L2n/1/

另一种解决方案是在创建表行后移动 ID 递增:

$("#table").append('<tr>...</tr>');
x++; //text box increment

这样,您的输入ID将从0开始:#unc0,UNC1,...在这种情况下,您的填充循环将是:

for(i=0; i < arr.length; i++){
    $("#user"+i).val(arr[i]);
}

您可以在此处测试此方法:

https://jsfiddle.net/h50h35vj/2/