我用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
你是在**页面完成加载后执行它们吗?如果没有,它会失败 –
你试过它作为自闭标签吗?'(注意尖括号前的斜杠) ? –