我正在尝试构建jQuery函数,但我还没有走得太远。
我试图遍历每个表行,获取数据并将每行值编译成不可用的数组。然后将数组输出到textarea。
我的想法是,我可以将数组复制并粘贴到一个新的文本框中,然后开始一个新的挑战,使一个jQuery函数将该数组数据输回到我的html表中。
如果您能想出更好的方式来描述我的问题,请随意重命名此问题。
这是我有多远......
请参阅小提琴:http://jsfiddle.net/6cqycyn6/7/
var data = null,
$results = $('.acf-field[data-name="report_results"] .acf-repeater TABLE TR.acf-row');
$("A#data_get").click(function () {
$results.each(function () {
var data = array(
row = $('.order').html();
report_results_position = $('.acf-field[data-name="report_results_position"]').find('INPUT[type="number"]').val();
report_results_rider = $('.acf-field[data-name="report_results_rider"]').find("SELECT OPTION:selected").text();
report_results_L1 = $('.acf-field[data-name="report_results_L1"]').find('INPUT[type="text"]').val();
report_results_L2 = $('.acf-field[data-name="report_results_L2"]').find('INPUT[type="text"]').val();
report_results_L3 = $('.acf-field[data-name="report_results_L3"]').find('INPUT[type="text"]').val();
report_results_T3 = $('.acf-field[data-name="report_results_T3"]').find('INPUT[type="text"]').val();
report_results_time = $('.acf-field[data-name="report_results_time"]').find('INPUT[type="text"]').val();
report_dnf_dsq = $('.acf-field[data-name="report_dnf_dsq"]')".find('input[type='checkbox']").val();
);
});
$("TEXTAREA.clipboard").html(data);
});
我甚至无法在文本框中显示数组。
从我的代码看,我猜这个数组无论如何都只是最后一行。如何以可用的键控格式存储数组中的每一行。
任何jquery高手帮忙都会非常感谢你。
答案 0 :(得分:2)
首先,尝试清理标记,简化选择器并修复语法错误。检查控制台是否显示那里显示的错误。这会让事情变得更容易。
另外,您必须在$(this)
- 函数中添加$.each()
以仅引用一行和实际行,否则每个数据都会被存储。
row = $(this).find('.order').html();
要启动空数组写:
var data = [];
要将数据存储在数组中,您可以尝试分别使用对象:
data.push(
{
'row' : row,
'report_results_position' : report_results_position,
'report_results_rider': report_results_rider,
'report_results_L1' : report_results_L1,
'report_results_L2' : report_results_L2,
'report_results_L3' : report_results_L3,
'report_results_T3': report_results_T3,
'report_results_time' : report_results_time,
'report_dnf_dsq' : report_dnf_dsq
}
);
尝试console.log(data);
检查您的数据阵列。
要访问您的数据,请使用:
data[index].key
index
=数组的索引(从0开始)
key
=数据数组中对象键的名称
E.g data[0].report_results_rider
将输出" Marc Marquez"
如果要在textarea中显示数组,可以使用:
html_data = JSON.stringify(data);
$("textarea.clipboard").html(html_data);
<强>参考强>