Ajax问题(创建<select>动态</select>

时间:2009-10-21 00:38:45

标签: ajax

我是Ajax的新手,我只是喜欢它。非常好。

但我坚持这个<select>的事情,那么问题是什么? 我有一个允许用户动态注册新产品的js功能.. 因此,当他在产品区域时,点击一个按钮,只需创建一个FORM,他就可以在其中添加新产品。到现在为止,我做得很好,但是,我得到了这个领域的城市。

所以,我不需要在mySql表上生成所有城市的<select>

我做的第一件事就是访问数据库并确定城市的数量,我想我这让人感到困惑......

cities = document.createElement('select');
cities.setAttribute('class','coolButton');
Cities = new Array();
ajax = new Ajax();
ajax.doGet('pegacidade.php?act=1',GiveCitiesQty);

这很好用,我得到了城市的数量。

GiveCitiesQty = function (str) {
    ajax.doGet('pegacidade.php?act=2&id='+j,PegaNomeCidade);
    //Cities[i] = document.createElement('option');
    //Cities[i].setAttribute('value',i);
    //Cities[i].appendChild(document.createTextNode((2009+i).toString()));
    //cities.appendChild(Cidades[i]);
}

这是我坚持的地方,我不知道如何动态创建这个<select>

任何sugestions? (现在我试图不使用任何工具包,用于真正的学习)

谢谢,Jamfi。

1 个答案:

答案 0 :(得分:0)

在解析结果并拥有一组对象后,我就这样做了。然后我把它添加到我的div。

var rootElem = document.createElement('select');
var optionElem;
for (var i = 0; i < toolsData.length; i++) {
    optionElem = document.createElement('option');
    rootElem.appendChild(optionElem);
    optionElem.value = toolsData[i].Name;
    optionElem.appendChild(document.createTextNode(toolsData[i].Name));
}