событие обмена javascript в выпадающий список asp.net - PullRequest
1 голос
/ 06 января 2012

Можно ли заставить триггер выбора выпадающего списка отправлять обратно на ту же страницу с тем, что было выбрано, добавлено в URL как строку запроса с использованием javascript?Проблема в том, что список загружается динамически из некоторого списка sharepoint.если мой сайт mysite.com/default.aspx, поэтому, когда выбор сделан, он должен быть перенаправлен на mysite.com/default.aspx?key=selection

Нет доступа к серверу, Нет доступа к коду: (

 <asp:DropDownList runat="server" id="DropDownList1" DataSourceID="spdatasource1" DataValueField="CategoryName" AutoPostBack="True" Onchange="window.open( Go to some link)">
                                                 </asp:DropDownList>

Ответы [ 2 ]

7 голосов
/ 06 января 2012
var selectedOption = $("#DropDownList1 option:selected").text();

$("#DropDownList1").change(function(e) {
      url: "mysite.com/default.aspx?key=" + selectedOption;
      window.location = url;
});

Не проверено, также нет уверенности в том, какое событие перезагружает страницу, например (отправка или привязка)

Другой вариант (возможно, лучше) из http://tinyurl.com/82ter35

$(document).ready(function() {

   var selectedOption = $("#DropDownList1 option:selected").text();

  $("#DropDownList1").change(function() {
    $.ajax({
      type: "POST",
      url: "mysite.com/default.aspx?key=" + selectedOption,
      data: "{}",
      contentType: "application/json; charset=utf-8",
      dataType: "json",
      success: function(msg) {
        // Replace the div's content with the page method's return.
        alert("this worked!");
      }
    });
  });
});
1 голос
/ 27 ноября 2013

Я не уверен, что вы хотите сделать, но я думаю, jquery - правильный ответ на ваш вопрос

в любом случае это может помочь:

<script language="javascript" type="text/javascript">
    function xx(e) {
        alert("fired by " + "<%= DropDownList1.UniqueID %>" + "change ");
        __doPostBack("<%= DropDownList1.UniqueID %>", "");
    }
</script>


<asp:DropDownList ID="DropDownList1" runat="server" onchange="xx()">
    <asp:ListItem>q</asp:ListItem>
    <asp:ListItem>w</asp:ListItem>
    <asp:ListItem>e</asp:ListItem>
    <asp:ListItem></asp:ListItem>
</asp:DropDownList>

Код позади (VB.NET)

Protected Sub DropDownList1_SelectedIndexChanged(sender As Object, e As System.EventArgs) Handles DropDownList1.SelectedIndexChanged
    MsgBox("Do whatever you want here")
End Sub
...