弄个下拉菜单,信息是从xml文件提取的,数据从后台以xml文件的形式还回,这些我都弄好了,可是不懂得前台的DOM技术,信息总是在菜单中显示不了,大家帮帮忙。
后台的代码以及前台的一部分代码觉得都没问题,下面是觉得有问题的代码:
function processRequest()
{
if (http_request.readyState == 4)
{ // 判断对象状态
if (http_request.status == 200)
{ // 信息已经成功返回,开始处理信息
var divhtml = http_request.responseXML;
var childs=divhtml.childNodes;
var select = document.getElementById("select1");
for(var i=0; i<childs.length; i++){
select.innerHTML+="<option>"+childs[i].getNodeValue()+"</option>";
}
}
}
}
其中的divhtml是从后台得到的,select1是下拉菜单的id。
后台的代码以及前台的一部分代码觉得都没问题,下面是觉得有问题的代码:
function processRequest()
{
if (http_request.readyState == 4)
{ // 判断对象状态
if (http_request.status == 200)
{ // 信息已经成功返回,开始处理信息
var divhtml = http_request.responseXML;
var childs=divhtml.childNodes;
var select = document.getElementById("select1");
for(var i=0; i<childs.length; i++){
select.innerHTML+="<option>"+childs[i].getNodeValue()+"</option>";
}
}
}
}
其中的divhtml是从后台得到的,select1是下拉菜单的id。
var divhtml = http_request.responseXML;
var childs=divhtml.childNodes;
分别得到的是什么,先的看看你XML中的信息是不是准确的得到了,你上边的代码看起来好像是正确的。
//得到标记值数组
var content = xmlDoc.getElementsByTagName("diaryContent");
var diaryId = xmlDoc.getElementsByTagName("diaryId");
var diaryTitle = xmlDoc.getElementsByTagName("diaryTitle");
var diaryTime = xmlDoc.getElementsByTagName("diaryTime");
var diaryType = xmlDoc.getElementsByTagName("diaryType");
//从数组中拿出值
td.innerHTML = diaryTitle[i].firstChild.nodeValue.substr(0,10);
childs[i].NodeValue?
if (http_request.readyState == 4){ // 判断对象状态
if (http_request.status == 200){ // 信息已经成功返回,开始处理信息
var divhtml = http_request.responseXML;
var childs=divhtml.childNodes;
var select = document.getElementById("select1");
for(var i=0; i <childs.length; i++){
var oOption = document.createElement("OPTION");
select.options.add(oOption);
oOption.innerText = childs[i].getNodeValue();
oOption.value = i;
}
}
}
}
List<String> list=c.findnode();//从xml文件取出数据
for(int i=0;i<list.size();i++){
dthtml.append("<类别>");
dthtml.append(list.get(i));
dthtml.append("</类别>");
}
dthtml.append("</分类>");
response.setCharacterEncoding("utf-8");
response.setContentType("text/html;charset=utf-8");
try {
response.getWriter().print(dthtml.toString());//返回信息到页面;
} catch (IOException e) {
e.printStackTrace();
}
var menuArray= [];
menuArray.push({"menuId":"001","menuTxt":"菜单1"});
menuArray.push({"menuId":"002","menuTxt":"菜单2"});for(var i = 0, l = menuArray.length; i < l; i++){
var menuId = menuArray[i].menuId;
var menuTxt = menuArray[i].menuTxt;
}
var opt = document.createElement("OPTION");
opt.text = childs[i].nodeValue();
opt.value = childs[i].nodeValue();
select.add(opt);
}