function getSlc не проверок на наличие параметра при его добавлении кроме как if(slcParam.sFunct != undefined)
ещё мелочь )))
newCell.innerHTML = ' '+field2R.val[i]+' ';
надо
newCell.innerHTML = ' '+field2R.val[i]+' ';
и вариант может чем поможет )))
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title></title>
</head>
<body>
<table id="tb" border="1">
<tr>
<td>1</td>
<td>2</td>
</tr>
<tr>
<td>3</td>
<td>4</td>
</tr>
</table>
<script language="JavaScript" type="text/javascript">
function getSlc(c) {
var b = document.createElement("SELECT");
if(c.id)b.id = c.id;
if(c.name)b.name = c.name;
if(c.options){for (var d = c.options.length, a = 0; a < d; a++) {
b.options.length = a + 1;
b.options[a].text = c.options[a][0];
b.options[a].value = c.options[a][1];
if (c.options[a][2]) b.options[a].isDefaultSelected = true;
if (c.options[a][3]) b.options[a].selected = true
}};
if (c.onchange&&typeof c.onchange == "function") b.onchange = c.onchange;
return b
};
//var slcParam ={id:'h3',name:'h3',options:[["Строка 1", 1],["Строка 2", 2],["Строка 3", 3,1,1]],onchange:function (){alert(this.value);}}
//document.body.appendChild(getSlc(slcParam))
function getFFOptionsRow(table,i,field2R){
var tablePreffiks = 'FF';
var newRow = table.insertRow(-1); //добавляем строку в созданной таблице
newRow.className = 'tableData';
newRow.id = tablePreffiks+'tableData_'+field2R.key[i];
//имя поля
var newCell = newRow.insertCell(-1); //в созданной строке добавляем столбец
newCell.align = 'right'; //указываем позиционирование по центру
newCell.innerHTML = ' '+field2R.val[i]+' ';
//тип фильтра
var newCell = newRow.insertCell(-1); //в созданной строке добавляем столбец
newCell.align = 'center'; //указываем позиционирование по центру
var slcParam = {
id : 'field_'+field2R.key[i]+'_filter_type_slc',
name : 'field_'+field2R.key[i]+'_filter_type',
onchange : function (){alert(this.name);},
options:[["Строка 1", 1],["Строка 2", 2],["Строка 3", 3,1,1]]
};
var slc = getSlc(slcParam);
newCell.appendChild(slc);
}
var t= document.getElementById('tb');
var field2R={key:[1,2,3],val:[4,5,6]};
getFFOptionsRow(t,1,field2R)
</script>
</body>
</html>