XSLT と jQuery をサンプルします。

XSLT と jQuery と他の将来の役に立つことがありますいくつかのスニペットを共有するだろうと思ったの多くをしています。.

例 1: 簡単な JavaScript を出力します。 / XSLT で jQuery:

<xsl:テンプレート照合」何か =" xml:空間 ="preserve">

  <!– 空白クエリ フレンドリー フィルターの非表示フィールド –>
  <スクリプトの種類」テキスト/javascript」=>
    $(ドキュメント).準備ができて(関数(){
      $(「#QueryFriendlyFilters」).ヴァル(「空」);
    });
  </スクリプト>

</xsl:テンプレート>

ページの読み込みが完了するまで待機する JavaScript は、ビットを出力します。 (ため、 $(ドキュメント).準備ができて(…)) [名前セットを非表示フィールドの値 QueryFriendlyFilters をリテラル値に「空」.

例 2: 使用 <xsl:場合> 「より大きい」をチェックするには,  「より小さい」, など.

<xsl:テンプレート照合」何か =" xml:空間 ="preserve">

  <div id ="fdcAllFilters">
 
    <xsl:場合 test="@Count>0">
      <クラスにまたがる「fdcFilterLabel」=>現在のフィルター:</スパン>
    </xsl:場合>

    <!– 多くの原料をここに起こる. –>

</xsl:テンプレート>

上記のスニペット」、「何か」の要素のカウント」という名前属性が 0 より大きいどうかを確認します。  この背後にある XML のようなものになります。:”

<何かカウント =「5」/>

例 3: すべての要素を反復処理します。, jQuery の呼び出しを interspersing.

<!– すべてのフィルターを反復処理し、正しい表示  リンク. –>
<xsl:各選択 =「UserFilter」>

  <クラス「FilterHref =" href ="javascript:mySubmitPage(' RemoveUserFilter','{@ ID}’)">[X]</は>

  <クラスにまたがる「fdcFilterLabel」=><xsl:値の select="@FilterValue"/></スパン>

  <スクリプトの種類」テキスト/javascript」=>

    $(ドキュメント).準備ができて(関数(){
        <xsl:本文><![CDATA[$(「#QueryFriendlyFilters」).ヴァル( ($(「#QueryFriendlyFilters」).ヴァル() + " ]]></xsl:本文>\"<xsl:値の select="@FilterValue"/>\"<xsl:本文><![CDATA["));]]></xsl:本文>
    });

  </スクリプト>

</xsl:それぞれ>

上記のコードは最も複雑なですし、それをする簡単な方法がある可能性があります。.

この背後にある XML 大体次のように見える:

<UserFilter ID =「123」FilterValue"xyzzy"=/>

このスニペットを反復します。 <UserFilter> ノード。 

それを最初のアンカー出力をクリックするとタグ、ページに既に存在する JavaScript 関数を呼び出す, 「mySubmitPage」と、属性の値を渡すは <UserFilter> "ID"という名前のノード。 

[ページの読み込みに待機するいくつかの jQuery を出力します。  その jQuery FilterValue 属性の値を追加することによって「QueryFriendlyFilters」という名前は非表示のフィールドを更新します。  メモすべての狂気 <xsl:本文> と <![CDATA[ … ]]> もの.

それは, それに役立ちます願っています!

</終了>

私のブログを購読します。.

私は Twitter の上に従ってください。 http://www.twitter.com/pagalvin

2 「上の思考XSLT と jQuery をサンプルします。

  1. アンドレス

    XSLT を介して SharePoint で複数リスト web パーツをフィルター処理するのにこの方法を使用することができます。?

    1. ポール Galvin 投稿者

      こんにちは, 申し訳ありません私はこれに応答しません。. それはこの時点で、古代とように文句を言わない. あなたが何をしようとしていた考え出したことを望む :).

メッセージを残してください

あなたのメールアドレスが公開されることはありません. 必須フィールドは、マークされています *