JSFiddle - React, Tailwind, and code Playground
HTML
<table>
<tbody>
<tr>
<th>Name</th>
<th>Cookies</th>
</tr>
<tr>
<td>
<input class="nameField" type="text" value="One">
</td>
<td>
<input class="cookieField" type="number" value="1">
</td>
</tr>
<tr>
<td>
<input class="nameField" type="text" value="Two">
</td>
<td>
<input class="cookieField" type="number" value="2">
</td>
</tr>
<tr>
<td>
<input class="nameField" type="text" value="Three">
</td>
<td>
<input class="cookieField" type="number" value="3">
</td>
</tr>
<tr>
<td>
<input class="nameField" type="text">
</td>
<td>
<input class="cookieField" type="number" >
</td>
</tr>
<tr>
<td>
<input class="nameField" type="text">
</td>
<td>
<input class="cookieField" type="number">
</td>
</tr>
<tr>
<td>
<input class="nameField" type="text">
</td>
<td>
<input class="cookieField" type="number">
</td>
</tr>
<tr>
<td>
<input class="nameField" type="text">
</td>
<td>
<input class="cookieField" type="number">
</td>
</tr>
</tbody>
</table>
<p>
<button id="downloadLink">Download CSV</button>
<a href="" id="dataLink" download="data.csv"></a>
<a href="javascript:alert('test');" id="testLink"></a>
</p>
JavaScript
$(document).ready(function () {
var $link = $("#dataLink");
var $nameFields = $(".nameField");
var $cookieFields = $(".cookieField");
console.clear();
$("#downloadLink").click(function (e) {
var csv = "";
//we should have the same amount of name/cookie fields
for (var i = 0; i < $nameFields.length; i++) {
var name = $nameFields.eq(i).val();
var cookies = $cookieFields.eq(i).val();
if (name !== '' && cookies !== '') csv += name + "," + cookies + "\n";
}
console.log(csv);
// console.log( $link[0] );
$link.attr("href", 'data:Application/octet-stream,' + encodeURIComponent(csv))[0].click();
});
/*$("#dataLink").click(function(){
console.log("Clicked remotely");
});*/
});