java ajax 下拉框
functionexamTitle(){var[]s=DWRU.getExamTitle();for(i=0;i<s.length;i++){document.all("...
function examTitle(){
var[] s = DWRU.getExamTitle();
for (i=0;i<s.length;i++){
document.all("title").options.add(new Option(s[i],s[i]));
}
}
我用的是DWR框架,现在在页面上已经测试得到这个数组了,请问现在我怎样把数据循环存放在<select>的<option>标签里面去然后在页面上显示出来啊?弄不明白了。
<select id="title" name="title" onchange="examTitle();">
<option value="">
--请选择考试科目--
</option>
</select>
我就这样定义了一下,可是出不来,请高手指教 展开
var[] s = DWRU.getExamTitle();
for (i=0;i<s.length;i++){
document.all("title").options.add(new Option(s[i],s[i]));
}
}
我用的是DWR框架,现在在页面上已经测试得到这个数组了,请问现在我怎样把数据循环存放在<select>的<option>标签里面去然后在页面上显示出来啊?弄不明白了。
<select id="title" name="title" onchange="examTitle();">
<option value="">
--请选择考试科目--
</option>
</select>
我就这样定义了一下,可是出不来,请高手指教 展开
3个回答
展开全部
首先引入2个dwr的js文件
<script src='${pageContext.request.contextPath}/dwr/engine.js'></script>
<script src='${pageContext.request.contextPath}/dwr/util.js'></script>
引入的时候要注意:路径是项目路径下+web.xml文件的配置路径,比如说:在web.xml文件中这样配置
<servlet-name>dwr-invoker</servlet-name>
<servlet-class>
org.directwebremoting.servlet.DwrServlet
</servlet-class>
<servlet-mapping>
<servlet-name>dwr-invoker</servlet-name>
<url-pattern>/dwr/*</url-pattern>
</servlet-mapping>
所有在引入的js路径中加入了dwr这个目录
jsp页面加入下面2个方法
function first(){
DWRU.getExamTitle(row3);
}
function row3(data){
DWRUtil.addOptions("title",data);
}
这样做的前提就是getExamTitle要返回一个java的Map对象
该Map的key将会被设置到jsp中<option>的value属性,Map的value降被设置到jsp中<option>的text属性
比如说:
getExamTitle方法:
Map m = new HashMap();
m.put("v1","t1");
m.put("v2","t2");
return m;
这时候jsp页面上调用first()函数之后,就会出现下面的效果:
<select id="title" name="title" onchange="examTitle();">
<option value="v1">t1</option>
<option value="v2">t2</option>
</select>
PS:
在返回的Map对象中,为了在页面上的下拉菜单列表信息出现的顺序和往map中添加元素的顺序一样,可以试用LinkedHashMap
====================
DWRUtil.removeAllOptions("title");
该语句可以删除所有title的下拉列表
DWRUtil.addOptions("title",{'':''});
该语句可以想title下拉列表中添加元素,分号前面的字符串是value值,分号后面的字符串是text值
<script src='${pageContext.request.contextPath}/dwr/engine.js'></script>
<script src='${pageContext.request.contextPath}/dwr/util.js'></script>
引入的时候要注意:路径是项目路径下+web.xml文件的配置路径,比如说:在web.xml文件中这样配置
<servlet-name>dwr-invoker</servlet-name>
<servlet-class>
org.directwebremoting.servlet.DwrServlet
</servlet-class>
<servlet-mapping>
<servlet-name>dwr-invoker</servlet-name>
<url-pattern>/dwr/*</url-pattern>
</servlet-mapping>
所有在引入的js路径中加入了dwr这个目录
jsp页面加入下面2个方法
function first(){
DWRU.getExamTitle(row3);
}
function row3(data){
DWRUtil.addOptions("title",data);
}
这样做的前提就是getExamTitle要返回一个java的Map对象
该Map的key将会被设置到jsp中<option>的value属性,Map的value降被设置到jsp中<option>的text属性
比如说:
getExamTitle方法:
Map m = new HashMap();
m.put("v1","t1");
m.put("v2","t2");
return m;
这时候jsp页面上调用first()函数之后,就会出现下面的效果:
<select id="title" name="title" onchange="examTitle();">
<option value="v1">t1</option>
<option value="v2">t2</option>
</select>
PS:
在返回的Map对象中,为了在页面上的下拉菜单列表信息出现的顺序和往map中添加元素的顺序一样,可以试用LinkedHashMap
====================
DWRUtil.removeAllOptions("title");
该语句可以删除所有title的下拉列表
DWRUtil.addOptions("title",{'':''});
该语句可以想title下拉列表中添加元素,分号前面的字符串是value值,分号后面的字符串是text值
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询