Ajax,Html:无法生成SELECT标记的内容

时间:2010-05-02 17:27:09

标签: html ajax

我有以下HTML代码

<select id="c0"  name="countries" onchange="show_other()">
  <option value="1">something</option>
  <div id="c1">

  </div>
</select>

我有选项“something”,我想通过Ajax生成其他选项。 但如果我尝试这个

  document.getElementById('c1').innerHTML = xmlhttp.responseText 

它不起作用,但是

 document.getElementById('c0').innerHTML = xmlhttp.responseText 

工作正常,但我需要保留第一个选项。 你能解释一下这是什么问题吗? 感谢

2 个答案:

答案 0 :(得分:1)

C1 div无效地嵌套在select元素中,至少根据你的例子。

答案 1 :(得分:1)

您不得在<div>标记中放置<select>个元素。 <option>内只允许<select>个元素。

要实现您的目标,请尝试以下方法:

document.getElementById('c0').innerHTML += xmlhttp.responseText;

如果你的目标是在那里有一个静态元素并且只是替换<div>中的元素,那么你想要做的就是将默认选项编码到你的JS中: / p>

document.getElementById('c0').innerHTML = '<option value="1">something</option>' + xmlhttp.responseText;

您还可以从中提取虚拟选择:

document.getElementById('c0').innerHTML = document.getElementById('dummyselect').innerHTML + xmlhttp.responseText;

结合使用
<select id="dummyselect" style="display:none;">
    <option value="1">something</option>
</select>
<select id="c0"></select>
祝你好运!