4

リストからアイテムを選択すると新しいウィンドウを開くドロップダウンリストがあります。URL でドロップダウンリストの値を新しいウィンドウに渡すにはどうすればよいですか?

私のコードは次のようになります。

<asp:DropDownList ID="ddlAdd" runat="server" CssClass="ddl" OnChange="javascript:openWindow('add.aspx?ddlAddValue=', 800, 885)">
    <asp:ListItem>One</asp:ListItem>
    <asp:ListItem>Two</asp:ListItem>
    <asp:ListItem>Three</asp:ListItem>
</asp:DropDownList>

これは JavaScript 関数です。

function openWindow(url, windowHeight, windowWidth)
{
    var centerHeight = (screen.height - windowHeight) / 2;
    var centerWidth = (screen.width - windowWidth) / 2;
    var features = "height=" + windowHeight + ", width=" + windowWidth + ", top=" + centerHeight + ", left=" + centerWidth + ", scrollbars=" + 1;
    var popUp = window.open(url, "", features);
}
4

2 に答える 2

4

参照するだけthis.valueで、基になる選択の値を取得できます。

OnChange="javascript:openWindow('add.aspx?ddlAddValue=' + escape(this.value), 800, 885)"

また、これは jQuery で簡単に処理できます。

$(function(){

  $('select[id$=ddlAdd]').change(function () {

      var addValue = $(this).val();

      if (addValue) { 
          // window opening logic here
      }

      return false;
  });
});
于 2012-08-03T17:53:04.937 に答える
1

次のように、ドロップダウン オブジェクトを直接 JavaScript に渡すことができます...

onchange="openWindow('add.aspx?ddlAddValue=', 800, 885, this)"

javascript:(注: コマンドに接頭辞は必要ありませんonchange。ブラウザは、それが JavaScript であることを既に認識しています)。

そして、あなたの機能で...

function openWindow(url, windowHeight, windowWidth, dd)
{
   url = url + encodeURIComponent(dd.options[dd.selectedIndex].value);
   ...
于 2012-08-03T17:50:50.943 に答える