js代码:
<script language="javascript">
<!--
    function template()
    {
var seltemplate=document.all("ddlSelectTemplate").value;
document.all("ss").value=seltemplate;
    }
-->
</script>html中:
<asp:dropdownlist id="ddlSelectTemplate" runat="server" Width="304px"  OnSelectedIndexChanged="template();"></asp:dropdownlist>
我还要在后台对dropdownlist初始化数据这样打开页面时会出现“编译器错误信息: CS1026: 应输入 )”错误提示是不是服务器控件不能使用js操作,还是其他方面的问题,望高手指点!!急!在线等!!

解决方案 »

  1.   

    function template()
        {
                 var ddl = document.getElementById("ddlSelectTemplate");
                var index = ddl.selectedIndex;
                 var value = ddl.options[index].value;
                 var text = ddl.options[index].text;
    document.all("ss").value=text ;
        }
      

  2.   

    由于ddlSelectTemplate是服务器端控件所以他的ID到客户端会产生变换
    你需要在初始化时 注入脚本
    ddlSelectTemplate.Attributes("onchange","template("+this.ddlSelectTemplate.ClientID+")");
      

  3.   

    <script language="javascript">
    <!--
        function template(ID)
        {
    var seltemplate=document.all(ID).value;
    document.all("ss").value=seltemplate;
        }
    -->
    </script>
      

  4.   

    去掉OnSelectedIndexChanged="template();"
    在cs里面加上ddlSelectTemplate.Attributes.Add("onchange","template();");
      

  5.   

    你的JS代码没有错,是下拉列表的属性错了
    前台:
    <asp:dropdownlist id="ddlSelectTemplate" runat="server" Width="304px"  AutoPostBack="false"></asp:dropdownlist>在后台的Page_Load中加上:
    ddlSelectTemplate.Attributes.Add("onchange", "template()");
    就可以了
      

  6.   

    OnSelectedIndexChanged是服务器端的事件<script language="javascript">
    <!--
        function template(id)
        {
    var seltemplate=document.all(id).value;
    document.all("ss").value=seltemplate;
        }
    -->
    </script>html中:
    <asp:dropdownlist id="ddlSelectTemplate" runat="server" Width="304px" ></asp:dropdownlist>
    在后台的Page_Load中加上:
    ddlSelectTemplate.Attributes("onchange","template("+this.ddlSelectTemplate.ClientID+")");
    就可以了