1

我能够实现选择框,但 onchange 和 OnSelectedIndexChanged 没有触发。有什么见解吗?

<div class="hasJS">
<asp:DropDownList class="custom" ID="myid" runat="server" OnSelectedIndexChanged="change" OnTextChanged="change" onChange="myChange();">
<asp:ListItem>Hello</asp:ListItem>
<asp:ListItem>Hello1</asp:ListItem>
<asp:ListItem>Hello3</asp:ListItem>
<asp:ListItem>Hello4</asp:ListItem>
<asp:ListItem>Hello5</asp:ListItem>
<asp:ListItem>Hello6</asp:ListItem>
<asp:ListItem>Hello7</asp:ListItem>
<asp:ListItem>Hello8</asp:ListItem>
</asp:DropDownList>
</div>

 <script type="text/javascript">

   $(function () {

       $("select.custom").each(function () {
           var sb = new SelectBox({
               selectbox: $(this),
               height: 150,
               width: 200
           });
       });

   });

   function myChange() {
       alert("Hai");
   }

    </script>
4

3 回答 3

3

为 DropDownList 设置 autopostback=true ;

<asp:DropDownList class="custom" autopostback="true" ID="myid" runat="server" OnSelectedIndexChanged="change" OnTextChanged="change" onChange="myChange();">
于 2013-11-12T12:05:19.057 回答
0

for the case of onChange add return to the javascript call

     <asp:DropDownList ID="cbProduct" runat="server" 
                                        CssClass="common_transaction_textbox_style" onchange="return LoadProductBatchByName();" Height="23px" Width="200px">
                                    </asp:DropDownList>

 function LoadProductBatchByName() {
{
          alert('test');
}
于 2013-11-12T12:10:18.913 回答
0

我刚刚复制了你的代码并猜测它在 AutoPostBack="True" 下工作正常,首先它显示警报消息,然后两次事件都被触发了两个事件。我猜你必须在你的代码隐藏文件中实现下面的代码片段。

protected void change(object sender, EventArgs e)
    {

    }
于 2013-11-13T03:42:30.573 回答