在页面里有一个dropdownlist 控件 
<asp:DropDownList ID="ddlHost" runat="server" CssClass="ddlclass">
                                 <asp:ListItem Value="1">专业主机</asp:ListItem>
                                 <asp:ListItem Value="2">超强主机</asp:ListItem>
                                 <asp:ListItem Value="3">豪华主机</asp:ListItem>
                                 <asp:ListItem Value="4">强悍VPS服务器</asp:ListItem>
                            </asp:DropDownList>我想用Js 传一个值 例如:传一个2 页面显示时dropdownlist选择超强主机
js函数应该怎么写 

解决方案 »

  1.   

    有一笨方法,页面上放一隐藏域,属性里加上runat=server,然后用JS给这个隐藏域赋值,之后通过后台request.Form["隐藏域ID"]来获取这个值。再在后台代码中判断这个值来设置DropDownList作何动作。
      

  2.   

    楼主,问题最好描述明白点。
    通过JS传值是否需要刷新呀。
    1。不刷新。
    JS:document.getElementById('ddlHost').value=2;
    2.刷新
    js.
    window.location="当前页面?index=2";后面
    if (Request.ServerVariables["REQUEST_METHOD"].ToString() == "POST")
            {
    ddlHost.Value=Request["index"];
    }
      

  3.   

    楼主如果不是非要JS函数写的话,我给你一个方法参考:
    ?id=2
    pageload()
    {
    string id=string.empty;
       if(request.querystring["id"]!=null)
    {
        id=request.querystring["id"].ToString();
    }
       foreach(ListItem item in this.dropdownlist1.Items)
    {
        if(item.value==id)
    {
       item.selected=true;
    break;
    }
    }
    }
      

  4.   


    var ddlHost = document.getElementById('ddlHost');
    for(var i = 0;i< ddlHost.options.length;i++){
        if(ddlHost.options[i].value == 2){
             ddlHost.options[i].selected = true;
             break;
        }
    }
      

  5.   


     <script type="text/javascript">       function ddlInit(ddlvalue) {           var seletitem = document.getElementById("ddlHost");
              
               for (var i = 0; i < seletitem.options.length; i++) {
                   if (seletitem.options[i].value == ddlvalue) {
                       seletitem.selectedIndex = i;
                       break;
                   }
               }
           }
       </script>
      ScriptManager.RegisterStartupScript(this, this.GetType(), "", "ddlInit("+2+")", true);
      

  6.   

    我是在页面里 单击一个div或者一张图片时调用这个脚步函数我写的还报错——
    造成浏览器运行速度减慢
      

  7.   

    用js在也面中获得url中的参数,附值给dropdownlist的value
      

  8.   

    要不就在pageload里接收参数并传递给js
      

  9.   

     是调用我提供的js吗???
     <div onclick="ddlInit(3);" >通过js 为dropdownlist赋值</div>
      

  10.   

    如果还报错,将你的code贴出来,无码无真相,O(∩_∩)O哈哈~
      

  11.   

    function ddlInit(ddlvalue) {           var seletitem = document.getElementById("<%=ddlHost.ClientID%>");
              
               for (var i = 0; i < seletitem.options.length; i++) {
                   if (seletitem.options[i].value == ddlvalue) {
                       seletitem.selectedIndex = i;
                       break;
                   }
               }
           }
      

  12.   

     1   var ddl = document.getElementById('ddl_SortID');
     2   var itemCount = ddl.options.length;
     3   for (var i = 0; i < itemCount; i ++)
     4   {
     5     //让Value="2"的那一项选中
     6     //也可以用ddl.value = "2";
     7     if (dd1.options[i].value == '2')
     8     {
     9       ddl.selectedIndex = i;
    10   }
      

  13.   

    function test(vl)
    {
      var ddl = document.getElementById("DropDownList1");
      var itemCount = ddl.options.length;
      for (var i = 0; i < itemCount; i ++)
      {         
         if (ddl.options[i].value == vl)
          {
              //ddl.selectedIndex =i;
             ddl.options[i].selected=true;
          }
       }
    }
      

  14.   

    不就是绑定吗?
    我不知道楼主为什么非要用js来实现
    可以在它绑定数据源之后来设置啊!
    ListItem item=new LisrItem();
    item.selected=true;
      

  15.   

    啊,是这样啊
    那你可以取得DropDownList对象,也就是客户端的select标签
    然后把2select标签对象的options[2].checked=true;
    就可以了,楼主试一下吧!
      

  16.   


    错了,
    不是checked
    是selected
      

  17.   

    这个换成selected 我已经试过了 报脚本错误 说影响浏览器的运行速度 我用的是IE6 跟版本有关吗 
      

  18.   


    var rows=document.getElementById("select");
    rows.options[2].selected="true";是这样。options是集合不是方法,我弄错了,我刚试了一下,IE7的可以,不知道IE6怎样了,