我有一个.hta,其中包含一组在表格内动态创建的下拉框。该表从json文件生成。该表看起来像(显然有更多的表,但这给你一个想法):
output +=
"<td style='display:none' name='expensive' style='background-color:#EDEDED'><center><input id='expensive_box' type='checkbox'></center></td>" +
"<td style='display:none' name='cheap'><center><input id='cheap_box' type='checkbox'></center></td>" +
"<td style='display:none' id='Spdropsyst' name='SPdropsyst'><select class='jumpmenu' name='SpRating' id='SpRating' onchange='writeRate()'><option id='blank' selected='selected'>...</option><option id='accepted' value=''>SP Accepted</option><option id='declined' value=''>SP Declined</option></select></td>";
output +=
"<td id='biz_name'>" + results[i]["Business Name"] + "</td>" +
"<td style='display:none' name='addressCol'>" + results[i]["Address"] + "</td>" +
"<td><center>" + results[i]["City"] + "</center></td>" +
"<td><center>" + results[i]["StateListing"] + "</center></td>";
然后用
写入每一行document.getElementById(&#34;占位符&#34;)。innerHTML = output;
每行都有自己的下拉列表。 onchange函数是:
function writeRate()
{
var fso = new ActiveXObject("Scripting.FileSystemObject");
var write_id = "file to write to here";
alert('The information has been forwarded to the OON Map Team, Thank you!');
var s = fso.OpenTextFile(write_id, 8, true);
alert(write_id);
s.WriteLine(" ");
if (document.getElementById('cheap_box').checked){
s.WriteLine('cheap');
}
if (document.getElementById('expensive_box').checked){
s.WriteLine('expensive');
}
s.Close();
}
现在我正在寻找的是当x行上的方框改变时,我希望它获取同一行x的商业名称,以便写入文件。因此,如果某人更改了drop x,它将写出业务x,如果某人更改了y,那么它将写出业务y。
我在生成表时将业务名称传递给数组。所以我有:
spArray.push(results[i]["Business Name"];
并且可以调用任何名称,但不能将名称与框关联。我怎样才能以最简单的方式完成这项工作?
答案 0 :(得分:0)
通过改为使用数组spArray并使用它来填充下拉列表来解决这个问题。因此,我没有动态创建的一组下拉菜单,而是有一个下拉菜单,然后我可以轻松地从下拉菜单中获取所选值。问题解决了我的幸福。