我用javascript創建了一個下拉列表,我填充它從MySQL數據庫獲取數據。<input></input> in innerHTML not working
我的問題是我無法將下拉列表放在innerHTML代碼中。
這是我寫的創建與JS的下拉列表:
var mySpan = document.getElementById('myDiv');
var myLine = document.getElementById('testcat');
myLine.value++;
// Create select
var selection = document.createElement('select');
selection.setAttribute('name',"category[]");
mySpan.appendChild(selection);
// Create Option
createSelectOption(selection);
// Create the container
var ni = document.getElementById('myDiv');
ni.setAttribute('style', 'width:790px;');
...........
...........
然後,我創建其他的事情,並創建HTML代碼,我用:
newdiv.innerHTML = '<div class="table">.........</div>';
ni.appendChild(newdiv);
這是部分的HTML:
// test dropdown list
<input name="testcat" id="testcat" type="hidden" value="0" />
<div id="myDiv"></div>
我測試了我的下拉列表,你可以在上面的代碼中看到,它的工作原理如果我聲明<input name="testcat" id="testcat" type="hidden" value="0" />
在HTML中(我的意思是在<body></body>
),但如果我在innerHTML中使用相同的代碼,FireBug告訴我:「myLine爲null; myLine.value ++;?」
任何幫助
你的HTML中是否有任何斷線?另外,使用'innerHTML'使用'document.createElement'和'appendChild'方法插入HTML是非常糟糕的想法。 – antyrat
你是在**頁面完成加載後執行它們嗎?如果沒有,它會失敗 –
你試過它作爲自閉標籤嗎?'(注意尖括號前的斜槓) ? –