jquery如何动态实现填充下拉框?
hehe389
2008-12-29
现在有一个项目需要实现一个功能 当点下拉框时动态加载后台数据。框架jquery+Struts2+SPring2.5+ibaits2.3.自己查资料写了一个单在火狐下可以实现效果(报错XX未定义),在IE下为能填充下拉框(类型不匹配)
$(function() { $("#Select1").one("click",function() { $.ajax({ url :'loadTeacher.action', //后台处理程序 type:'post', //数据发送方式 dataType:'json', //接受数据格式 success:callbackFun1 //回传函数(这里是函数名) } ) }) function callbackFun1(data){ for(var n=0;n<=data.teachers.length;n++){ $("#Select1").get(0).add(new Option(data.teachers[n].love,data.teachers[n].teacher),document.getElementById(data.teachers[n].love) ? 0 : null ) } } }) 请解答,如果有已经写好的源代码麻烦发一份给我参考hewei19842002@yahoo.com.cn |
|
wxw404
2009-05-06
类似问题,期待中
|
|
wangyan2009
2009-12-18
我这有一个例子,给你看看吧
这是后台数据 protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { request.setCharacterEncoding("UTF-8"); response.setCharacterEncoding("UTF-8"); Map<String, String> product_names = DataManager.getGroup_names(); StringBuffer sb = new StringBuffer(); sb.append("{"); Set<String> keys = product_names.keySet(); for(Iterator<String> iter = keys.iterator();iter.hasNext();) { String key = iter.next(); sb.append(product_names.get(key)+":"); sb.append("['"+key+"'],"); } sb.deleteCharAt(sb.length()-1); sb.append("}"); response.getWriter().write(sb.toString()); } 前台设值 $.ajax({ type:"post", url:"InitData", data:"", success:function(data) { var map = eval("("+data+")"); $.each(map,function(key,values){ $("<option value="+values+">"+key+"</option>").appendTo("#p_name"); } ); } }); 不知道对你有没有用 |
|
zhaoliaoyuan
2009-12-30
public void getCascadeAjax() {
request = ServletActionContext.getRequest(); String vid = request.getParameter("id"); long id = Util.getInt(vid); Category category = new Category(); category.setId(id); Category category1 = new Category(); category1.setCategory(category); List cList = cascadeBiz.getCateGory(1, category1); cList = this.getParse(cList); resp = ServletActionContext.getResponse(); resp.setContentType("text/xml;charset=utf-8"); resp.setHeader("Cache-Control", "no-cache"); JSONArray jsonArray = JSONArray.fromObject(cList); PrintWriter writer; try { writer = resp.getWriter(); writer.print(jsonArray); writer.flush(); writer.close(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } public List getParse(List list) { List listTemp = new ArrayList(); CascadeTemp temp = null; for (int i = 0; list.size() > i; i++) { temp = new CascadeTemp(); Category temp1 = (Category) list.get(i); temp.setId(temp1.getId()); temp.setName(temp1.getName()); listTemp.add(temp); } return listTemp; } ///////////////////////////////////////////////////////////// <script type="text/javascript"> function selectType(){ var id =$("#select1").val();//一级下拉框Id alert(id); var vid="id="+id; $.getJSON("http://localhost:8080/superPlayer/cascade/getCasAjax.action", vid,function call(data){ writeHtml(data); }); } function writeHtml(data){ var sel = $("#select2");二级下拉框Id sel.empty(); $.each(data,function(i, item){//填充到二级下拉框 $("<option value='"+item.id+"'>"+item.name+"</option>").appendTo(sel); }); } <script> |
|
张显维
2010-07-26
[u][/u]
|
|
wangchongbiao
2011-09-05
等待中。。。。。。。。。。。
|
|
guoqiang1608
2011-09-14
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
|
zfcejb
2012-03-06
上网搜jquery autocomplete
|