这就是我一直在尝试做的事情。到目前为止,它还没有奏效。我不知道这是否可能,但我希望有人可以提供帮助。我愿意接受任何建议。
谢谢
cell1.innerHTML = "<b>" + (i+1) + "</b>";
cell2.innerHTML = "<b>" + array1[j] + "</b>";
cell3.innerHTML = '<select id="hGls">
<option selected="">-</option>
<option value="0">0</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
</select>';
cell4.innerHTML = <select id="aGls">
<option selected="">-</option>
<option value="0">0</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
<option value="7">7</option>
<option value="8">8</option>
<option value="9">9</option>
<option value="10">10</option>
<option value="11">11</option>
<option value="12">12</option>
<option value="13">13</option>
<option value="14">14</option>
<option value="15">15</option>
<option value="16">16</option>
<option value="17">17</option>
<option value="18">18</option>
<option value="19">19</option>
<option value="20">20</option>
</select>;
只需删除换行符(或转义换行符)并将 cell4 的选择括起来。
cell4.innerHTML = '<select id="aGls"><option selected="">-</option><option value="0">0</option><option value="1">1</option><option value="2">2</option><option value="3">3</option><option value="4">4</option><option value="5">5</option><option value="6">6</option><option value="7">7</option><option value="8">8</option><option value="9">9</option><option value="10">10</option><option value="11">11</option><option value="12">12</option><option value="13">13</option><option value="14">14</option><option value="15">15</option><option value="16">16</option><option value="17">17</option><option value="18">18</option><option value="19">19</option><option value="20">20</option></select>';
演示
在javascript中你不能有多行字符串,要解决这个问题,你需要转义新行:
cell3.innerHTML = '<select id="hGls">
<option selected="">-</option>
<option value="0">0</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option
<option value="4">4</option>
<option value="5">5</option>
</select>';
cell4.innerHTML = '<select id="aGls">
<option selected="">-</option>
<option value="0">0</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
<option value="7">7</option>
<option value="8">8</option>
<option value="9">9</option>
<option value="10">10</option>
<option value="11">11</option>
<option value="12">12</option>
<option value="13">13</option>
<option value="14">14</option>
<option value="15">15</option>
<option value="16">16</option>
<option value="17">17</option>
<option value="18">18</option>
<option value="19">19</option>
<option value="20">20</option>
</select>;
通过函数?
function addNumbersOpts(id, max) {
var buff = [];
for (var i = 0; i <= max; i++)
buff.push('<option value="' + i + '">' + i + '</option>');
return '<select id="' + id + '">' + buff.join('n') + '</select>';
}
cell3.innerHTML = addNumbersOpts('hGls', 5);
cell4.innerHTML = addNumbersOpts('aGls', 20);
-
您缺少引号
cell4.innerHTML =
-
您应该使用串联编写代码:
cell3.innerHTML = '<select id="hGls">' + '<option selected="">-</option>' + '<option value="0">0</option>' + ... '</select>';
这使它更加清晰。
在 Altermativeley,您可以使用
来转义换行符或将它们挤成一行(如其他答案所建议的那样),但使用串联要清晰得多,并且不会因浏览器优化而产生性能开销。