0

我定义了一个下拉列表:

         <asp:DropDownList Width="300px" ID="PlaceHoldersDropDownList" runat="server"
                AppendDataBoundItems="True" TabIndex="3" onchange="PasteTextInEditor 
                                    (this.options[this.selectedIndex].value), '<%= 
                                     SubjectTextBox.ClientID %>'"   >

因此,我将选定的文本和文本框 ID 传递给 javascript 函数。文本框定义为:

       <asp:TextBox Width="660px" ID="SubjectTextBox" Text='<%# Bind( "Subject") %>' 
           runat="server" TabIndex="4" MaxLength="100">
        </asp:TextBox>

所以,在脚本函数中,当我像这样发出警报时:

            alert(text);    //shows selected value
            alert(editor); // shows undefined

所以编辑器的价值是不确定的。所以,你能告诉我我一直在做的错误吗?我想将从下拉列表中选择的值保存到文本框中。请帮我解决问题。谢谢你

4

1 回答 1

2

看起来您的括号在“onchange”中的位置错误:您只传递了一个参数而不是客户端 ID。

但无论如何,这里不会解析 ClientID。相反,我建议您在 Page_Load 或 Page_PreRender 后面的代码中添加 onclick:

PlaceHoldersDropDownList.Attributes.Add("onchange", "PasteTextInEditor(this.options[this.selectedIndex].value, '" + SubjectTextBox.ClientID + "');")
于 2012-06-06T20:33:07.880 回答