首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > JavaScript >

急js设立下拉列表框默认值

2013-08-01 
急,js设置下拉列表框默认值我做了一个二级联动的下拉列表框,用于查询,我想查询之后下拉列表框默认选中我在

急,js设置下拉列表框默认值
我做了一个二级联动的下拉列表框,用于查询,我想查询之后下拉列表框默认选中我在查询之前选择的值。急js设立下拉列表框默认值
比如我现在选择的主菜单是“行业”,子菜单选择的是“研发中心”那么我查询之后也应该显示相同的默认值,但是急js设立下拉列表框默认值只有第一个下拉列表框实现了我想要的效果,第二个一直都不行。
这是我设置默认值得代码
  if(mu!="0"){
   document.getElementById("subm").value=mu;
       Selectsubmenu();
  }
  if(subses!="0"){
  //alert(subses);
    document.getElementById("cd").value=subses;
  }
同事我还发现一个问题,当我把alert的注释去掉之后再火狐中能达到我要的效果,注释之后又不行了。同事ie下面是完全没有反应。
 <td style="height: 45px; font-size: 12px;">
                主菜单:<select id="subm" onchange="Selectsubmenu()"><%=se%></select>
            </td>
            <td style="height: 45px; font-size: 12px;">
                所属子菜单:<select id="cd"><option value="0">子菜单</option>
                </select>
            </td>

/*二级联动,根据主菜单id查询子菜单信息*/
function Selectsubmenu() {
    var s = document.getElementById("subm").value;
    var url = "../ashx/Selectsubmenu.ashx";
    var date = { "id": s };
    $.post(url, date, function (date) {
        var jsion = eval(date);
        var selet = document.getElementById("cd");
        //<option value="0">子菜单</option>
        for (var i = 0; i < jsion.length; i++) {
            var option = new Option(jsion[i].Submenu, jsion[i].id); /*创建option*/
            selet.options.add(option);   /*添加值*/
        }
    });
} JavaScript

分享到:
[解决办法]
在body中加一个onload并把这个方法Selectsubmenu()加在这里
[解决办法]
应为ajax异步的,还没有返回设置子项时都已经执行过
  if(subses!="0"){
  //alert(subses);
    document.getElementById("cd").value=subses;
  }
这些代码了,这些代码放到ajax成功执行的回调函数中

/*二级联动,根据主菜单id查询子菜单信息*/
function Selectsubmenu() {
    var s = document.getElementById("subm").value;
    var url = "../ashx/Selectsubmenu.ashx";
    var date = { "id": s };
    $.post(url, date, function (date) {
        var jsion = eval(date);
        var selet = document.getElementById("cd");
        //<option value="0">子菜单</option>
        for (var i = 0; i < jsion.length; i++) {
            var option = new Option(jsion[i].Submenu, jsion[i].id); /*创建option*/
            selet.options.add(option);   /*添加值*/
        }

 if(subses!="0"){
  //alert(subses);
    //document.getElementById("cd").value=subses;
$('#cd option[value="'+subses+'"]).attr('selected',true);
  }



    });



IE下设置select的value不会选中对应的option,要设置selectedIndex或者option的selected属性,看修改后的代码,上面红色的
[解决办法]
我晕,你有看我发的代码了没有了,设置选中的代码放到ajax回调里面

热点排行