Jump to content

Simple dynamic variable naming


spertuit

Recommended Posts

This should be pretty easy but I can get this to work right. I am dynamically adding rows to a table and I want to append the number of the current row to the variable, these variables are arrays. (ex. variable1[], variable2[])

 

Example Code

        function addRow(tableID) {
 
            var table = document.getElementById(tableID);
 
            var rowCount = table.rows.length;
            var row = table.insertRow(rowCount);
	    var currentRow = $(this).closest('tr');
 
	    var cell1 = row.insertCell(0);
	    cell1.style.textAlign = 'left';
            cell1.innerHTML = "<a onClick=\"deleteRow('dataTable', this.parentNode.parentNode.rowIndex)\" align=\"left\"> Remove this Guest</a>";
 
            var cell2 = row.insertCell(1);
            var element2 = document.createElement("input");
            element2.type = "checkbox";
            element2.name="breakfast" + currentRow + "[]";
            cell2.appendChild(element2);
 
            var cell3 = row.insertCell(2);
            var element2 = document.createElement("input");
            element2.type = "checkbox";
            element2.name="breakfast" + row + "[]";
            cell3.appendChild(element2);

So, I've tried using currentRow and row, still not working. Anyone have ideas?

 

Link to comment
https://forums.phpfreaks.com/topic/281887-simple-dynamic-variable-naming/
Share on other sites

Wow, must be too early this morning 

            var cell2 = row.insertCell(1);
            var element2 = document.createElement("input");
            element2.type = "checkbox";
            element2.name="breakfast" + rowCount + "[]";
			element2.value = "breakfast";
            cell2.appendChild(element2);

rowCount does the trick

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.