0

選択したドロップダウン値に基づいてリストをフィルタリングする必要があります。そのためのDVWPを作成し、ドロップダウンに変換しました。ドロップダウン値が選択されたときにイベントを発生させるためにこの投稿をフォローしていますが、コードを変更する場所がわかりません。私は年に基づいてリストをフィルタリングしています。年の値を格納し、ドロップダウンが選択されたときにそれに応じてフィルタリングする年リストがあります。私はそれを次のように変更しました:

<xsl:otherwise>
  <select name="ID" size="1" onchange="document.location.href='pageName.aspx?year=' + this.options[selectedIndex.value])">
    <option selected="true" value="0">Choose One...</option>
    <xsl:call-template name="dvt_1.body">
      <xsl:with-param name="Rows" select="$Rows" />
    </xsl:call-template>
  </select>

xsltがわからないので、ドロップダウン値を変更してもイベントは発生しません。これを手伝ってください。

更新:取得したHTML:

<td valign="top">
  <div WebPartID="9e0da2fd-21ea-417f-863d-6551d16e72a1" HasPers="false" id="WebPartWPQ3" width="100%" class="noindex" allowDelete="false" style="" >
    <select name="ID" size="1" onchange="document.location.href='http://pageName.aspx?year=' + this.options[selectedIndex].value" xmlns:x="http://www.w3.org/2001/XMLSchema" xmlns:d="http://schemas.microsoft.com/sharepoint/dsp" xmlns:asp="http://schemas.microsoft.com/ASPNET/20" xmlns:__designer="http://schemas.microsoft.com/WebParts/v2/DataView/designer" xmlns:SharePoint="Microsoft.SharePoint.WebControls" xmlns:ddwrt2="urn:frontpage:internal">
      <option selected="" value="0">Choose One...</option>
      <option>2009</option>
      <option>2010</option>
      <option>2011</option>
      <option>2012</option>
      <option>2013</option>
    </select>
  </div>
</td>
4

1 に答える 1

0

これがXSLTの問題であるかどうかは少し疑わしいです。onchangeそのチュートリアルのハンドラーのスクリプトは、要約すると次のようになります。

document.location.href='pageName.aspx?year=' + this.options[selectedIndex].value

.valueの外側にあることに注意してください[]。試していただけませんか?ドロップダウンの選択を変更したときに、ブラウザがJavaScriptエラーを報告していますか?

さて、このチュートリアルFilterField1によれば、、などの名前のクエリパラメータを指定することでリストをフィルタリングできるFilterValue1ので、次のようなことを試してみてください。

document.location.href='pageName.aspx?FilterField1=ColumnName&amp;FilterValue1=' 
 + this.options[selectedIndex].value + '&amp;year=' + this.options[selectedIndex].value

ここでは、そのチュートリアルに示されているように、「ColumnName」を実際の列の名前に置き換えます。そのようなことを試していただけませんか?

于 2013-01-16T14:02:00.573 に答える