| re: oops i made mistake while posting my js code
priya wrote:[color=blue]
> hi.i made mistake while copying my code sorry friends.This is the one i
> tried .i got o/p for dynamic rows how should i h'v to incorporate
> "onChange"event in "setAttribute". following code is not work for
> double combo boxes in dynamic rows((i.e.,)here from second row).since
> first row i kept as static it(dbl combobox) works.
> plz help me, i need it very badly.
>[/color]
[snipped unbelievably invalid html and poor javascript code]
OK. There were too many problems to enumerate. Analyze this working
example and let us know if you have any specific questions.
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title>Insert Table Row using DOM</title>
<script type="text/javascript">
function $(id){return document.getElementById(id)}
function ce(el){return document.createElement(el)}
var items = [
{txt:'Properties', val:'win_prop', subitems:[
{txt:'content', val:'win_content'},
{txt:'closed', val:'win_closed'},
{txt:'Components', val:'win_Components'}
]},
{txt:'Methods', val:'win_meth', subitems:[
{txt:'alert', val:'win_alert'},
{txt:'atob', val:'win_atob'},
{txt:'back', val:'win_back'},
{txt:'blur', val:'win_blur'}
]},
{txt:'Event Handlers', val:'win_evnt', subitems:[
{txt:'onabort', val:'win_onabort'},
{txt:'onblur', val:'win_onblur'},
{txt:'onchange', val:'win_onchange'}
]}
];
function updatesel(){
var subs = items[this.selectedIndex].subitems;
var sel = this.parentNode.nextSibling.firstChild;
sel.options.length = 0;
for (var j=0; j<subs.length; j++){
sel.options[j] = new Option(subs[j].txt, subs[j].val);
}
}
function addRow(){
var tbody = $('table1').getElementsByTagName('tbody')[0];
var row = tbody.appendChild(ce('tr'));
var cell2 = row.appendChild(ce('td'));
var combo1 = cell2.appendChild(ce('select'));
combo1.setAttribute('name', 'cmbgroup');
combo1.onchange = updatesel;
for (var i=0; i<items.length; i++){
combo1.options[i] = new Option(items[i].txt, items[i].val);
}
var cell3 = row.appendChild(ce('td'));
var combo2 = cell3.appendChild(ce('select'));
combo2.setAttribute('name', 'cmbitem');
for (var i=0; i<items[0].subitems.length; i++){
combo2.options[i] = new Option(
items[0].subitems[i].txt, items[0].subitems[i].val
);
}
var cell4 = row.appendChild(ce('td'));
var inp2 = cell4.appendChild(ce('input'));
inp2.setAttribute('name', 'itemnum');
inp2.setAttribute('type', 'text');
inp2.setAttribute('value', 'no');
inp2.setAttribute('size', '3');
var cell5 = row.appendChild(ce('td'));
var inp3 = cell5.appendChild(ce('input'));
inp3.setAttribute('name', 'itemamt');
inp3.setAttribute('type', 'text');
inp3.setAttribute('value', 'amount');
inp3.setAttribute('size', '7');
}
window.onload = addRow;
</script>
</head>
<body>
<form name="frmdesilt">
<input type="button" value="AddGroup" onclick="addRow()">
<input type="button" value="Add Item" onclick="addRow()">
<table id="table1">
<thead>
<tr>
<th>Group-name</th>
<th>Item-Name</th>
<th>Number</th>
<th>Amount</th>
</tr>
</thead>
<tbody>
</tbody>
</table>
</form>
</body>
</html> |