I am trying to create a table in HTML that can add a row when I click the "add row" button and the same goes for deleting the added row if I intend to delete it. I wrote javascript to add checkbox and text. But I want only combo boxes in it, and I'm stuck in the middle. Could you guys understand this and let me know how to do this? This is my js file.
function addRow(tableID) { var table = document.getElementById(tableID); var rowCount = table.rows.length; var row = table.insertRow(rowCount); var cell1 = row.insertCell(0); var element1 = document.createElement("input"); element1.type = "checkbox"; cell1.appendChild(element1); var cell2 = row.insertCell(1); cell2.innerHTML = rowCount + 1; var cell3 = row.insertCell(2); var element2 = document.createElement("input"); element2.type = "text"; cell3.appendChild(element2); var cell4 = row.insertCell(3); var element3 = document.createElement("input"); element3.type = "text"; cell4.appendChild(element3); var cell5 = row.insertCell(4); //This is where the PROBLEM is!! var element4 = document.createElement("select"); element4.type = "option"; cell5.appendChild(element4); } function deleteRow(tableID) { try { var table = document.getElementById(tableID); var rowCount = table.rows.length; for(var i=0; i<rowCount; i++) { var row = table.rows[i]; var chkbox = row.cells[0].childNodes[0]; if(null != chkbox && true == chkbox.checked) { table.deleteRow(i); rowCount--; i--; } } }catch(e) { alert(e); } }
// JavaScript document
NOTE. Please do not offer SERVICE DISCOUNTS. I just do the homework in Java Script :)
This should do the trick:
var cell5 = row.insertCell(4); //This is where the SOLUTION is!! var element4 = document.createElement("select"); var option1 = document.createElement("option"); option1.value="1"; option1.innerHTML="sample1"; element4.appendChild(option1); var option2 = document.createElement("option"); option2.value="2"; option2.innerHTML="sample2"; element4.appendChild(option2); cell5.appendChild(element4);
, . HTML-, :
<select> <option></option> <option></option> </select>
, , ? , . , JavaScript, ?
var element4 = document.createElement("select");
. , ?
var option1 = document.createElement("option");
?
? .
element4.appendChild(option1);
, , .
why not try
var sel=document.createElement("select"); // repeat this for each option you have var opt=document.createElement("option"); opt.value="my option value"; opt.text="my option to be displayed"; sel.appendChild(opt); // end repeat cell5.appendChild(sel);
Source: https://habr.com/ru/post/1725911/More articles:Telerik RadGrid Add / Edit Row Performance Issue - performanceAda / Eclipse Integration - eclipseExplain this DSP notation - filterCan I select data during a transaction? - sql-serverRails 'script/server ะดะปั PHP-ะฟัะพะตะบัะฐ - phpReading a file through open (). Read () vs saving it in a variable - pythonCan a Grails domain class inherit from a class that is not a domain class? - inheritanceHow to quickly parse large (> 10 GB) files? - awkHow can I index HTML documents? - .netDisruption of public user functions in many private member functions - private-membersAll Articles