javascript
  • html
  • 2015-04-29 43 views -2 likes 
    -2

    这是我一直在试图做的事情。 到目前为止它还没有工作。 我不知道这是否可能,但我希望有人可以提供帮助。 我愿意接受任何建议。可以通过innerHTML将<select>函数放入表中吗?

    感谢

    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>; 
    
    +0

    你能提供一个jsfiddle的例子吗? – starikovs

    +2

    您错过了'cell4.innerHTML = ...' – maja

    +0

    中的引号您是什么意思“它迄今没有工作”?你得到的错误是什么,取而代之的是什么? – RononDex

    回答

    0
    1. 你错过了引号的cell4.innerHTML =

    2. 你应该级联编写代码:

      cell3.innerHTML = '<select id="hGls">' + 
               '<option selected="">-</option>' + 
               '<option value="0">0</option>' + 
               ... 
              '</select>'; 
      

      这使得它更清晰。

      Altermativeley,您可以使用\来避免换行符或将它们挤压到一行中(如其他答案所建议的那样),但使用连接更清晰并且不会因浏览器优化而导致性能开销。

    1

    简单删除换行符(或转义它们)并将单元格4的选择区域换成引号。

    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>'; 
    

    Demo

    1

    你不能在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>; 
    
    1

    通过功能?

    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); 
    
    相关问题