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

时间:2016-02-08 18:10:49

标签: javascript jquery

以下应用程序副本的Excel值并将它们分解为单个输入字段。

一切都很好,但我失去了第一个价值。

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

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

这是我从Excel复制的数据

1 2 3 4 5

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]);
        }
    } );
});

3 个答案:

答案 0 :(得分:0)

尝试将i更改为0

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

答案 1 :(得分:0)

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

@Discriminator

在这里测试这种方法:

these docs

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

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

这样你就可以输入你的输入ID:#unc0,unc1,... 在这种情况下,您的填充循环将是:

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

你可以在这里测试这种方法:

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

答案 2 :(得分:0)

&#13;
&#13;
$("#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]);
				}
			});
&#13;
&#13;
&#13;

检查this