急求:怎么在b/s页面中实现我选择一个dropdownlist的控件的一个值就能自动付给另一个text文本,比如我的dropdownlist绑定的是员工表的姓名,当我选择张三时候就把张三付给txt.text文本框。在dropdownlist的SelectedIndexChanged事件里面写怎么不起作用

解决方案 »

  1.   

    在SelectedIndexChanged里面写的话,你得设置autopostback=true
    不过就是得刷新页面,很不舒服如果可以的话,还是在前台写Javascript吧
      

  2.   


     function GetUsercode(obj)
            {
                if(obj.value == "0")
                {
                   txtEmpCode.Text = "";
                }
                else
                {
                   txtEmpCode.Text = obj.value
                }<td style="width: 373px; height: 23px" align="right">
                    职员姓名</td>
                 <td style="width: 654px; height: 23px"> &nbsp;<asp:DropDownList ID="DropDownList1" runat="server" Width="179px" onChange="GetUsercode(this)"  OnSelectedIndexChanged="DropDownList1_SelectedIndexChanged" TabIndex="1" >
                    </asp:DropDownList></td>
    我这样写的不知道什么原因就是没有效果
      

  3.   

    AutoPostBack = True
    不过这个方法对用户而言并不好
      

  4.   

    当然不是这么写的..obj.options[obj.selectedIndex].text 请改成这样..试下..txtEmpCode.Text = obj.options[obj.selectedIndex].text
      

  5.   

    最好在前台写javascript来写 这样比较好一些,
    在代码中加入:dropdownlist.Attributes.Add("SelectedIndexChanged",--function()方法--);
    这样就可以在前台javascript中运用 SelectedIndexChanged 事件了
      

  6.   

    使用JS来做
    在客户端的onchange 事件写代码
      

  7.   

    怎么不行, lz不是就想要把选的下拉文本填写到txt框里面..<script type='text/javascript'>
    function a(obj)
    {
        document.getElementById('txt').value = obj.options[obj.selectedIndex].text;
    }
    </script>
    <select id="a" onchange="a(this)">
    <option value="1">a</option>
    <option value="2">b</option>
    </select>
    <input type='text' id='txt'/>
      

  8.   

    这样不行的,要把ropDownList1的AutopostBack设置为True