నేను XSLT మరియు j క్వెరీ యొక్క చాలా చేయడం మరియు నేను ఇతరుల భవిష్యత్తులో ఉపయోగపడే కొన్ని స్నిప్పెట్లను భాగస్వామ్యం ఇష్టం ఆలోచన చేశారు.
ఉదాహరణ 1: సాధారణ జావాస్క్రిప్ట్ విడుదల / XSLT లో j క్వెరీ:
<XSL:template match="something" xml:space="preserve">
<!– ప్రశ్న స్నేహపూర్వక ఫిల్టర్లు దాచిన ఫీల్డ్ ఖాళీగా –>
<script type="text/javascript">
$(పత్రం).సిద్ధంగా(ఫంక్షన్(){
$("#QueryFriendlyFilters").Val("empty");
});
</లిపి></XSL:టెంప్లేట్>
ఆ బిట్ లోడింగ్ పూర్తి కావడానికి పేజీ కోసం వేచి కొన్ని జావాస్క్రిప్ట్ ప్రసరిస్తుంది (ఎందుకంటే $(పత్రం).సిద్ధంగా(...)) ఆపై "ఖాళీ" సాహిత్య విలువ QueryFriendlyFilters అనే రహస్య రంగంలో విలువ సెట్.
ఉదాహరణ 2: ఉపయోగించండి <XSL:అయితే> "కంటే ఎక్కువ" తనిఖీ, "కంటే తక్కువ", మొదలైనవి.
<XSL:template match="something" xml:space="preserve">
<div id="fdcAllFilters">
<XSL:if test="@Count>0">
<span class="fdcFilterLabel">ప్రస్తుత ఫిల్టర్:</వ్యవధి>
</XSL:అయితే><!– మరింత stuff ఇక్కడ జరుగుతుంది. –>
</XSL:టెంప్లేట్>
పైన స్నిప్పెట్ "ఏదో" ఎలిమెంట్ యొక్క "కౌంట్" అనే పేరుగల విశేషణము సున్నా కంటే ఎక్కువ ఉంటే చూసేందుకు తనిఖీ చేస్తుంది. ఈ వెనుక XML ఏదో మాదిరిగా అవుతుంది:"
</ ఏదో కౌంట్ = "5">
ఉదాహరణ 3: అన్ని అంశాలు ద్వారా Iterate, j క్వెరీ కాల్స్ interspersing.
<!– అన్ని ఫిల్టర్లు ద్వారా Iterate మరియు సరైన ప్రదర్శించడానికి లింకులు. –>
<XSL:for-each select="UserFilter"><a class="FilterHref" href="javascript:mySubmitPage(‘RemoveUserFilter’,'{@ ID}')">[X]</ఒక>
<span class="fdcFilterLabel"><XSL:value-of select="@FilterValue"/></వ్యవధి>
<script type="text/javascript">$(పత్రం).సిద్ధంగా(ఫంక్షన్(){
<XSL:టెక్స్ట్><![CDATA[$("#QueryFriendlyFilters").Val( ($("#QueryFriendlyFilters").Val() + " ]]></XSL:టెక్స్ట్>\"<XSL:value-of select="@FilterValue"/>\"<XSL:టెక్స్ట్><![CDATA["));]]></XSL:టెక్స్ట్>
});</లిపి>
</XSL:-ప్రతి కోసం>
పైన స్నిప్పెట్ అత్యంత క్లిష్టమైన మరియు దీన్ని సులభంగా మార్గాలు ఉండవచ్చు.
ఈ వెనుక XML సుమారు ఈ అనిపిస్తోంది:
<UserFilter ID = "123" FilterValue = "xyzzy" />
ఈ స్నిప్పెట్ ద్వారా సంభవింప ఉంది <వాడుకరి ఫిల్టర్> నోడ్స్.
ఇది మొదటి క్లిక్ చేసినప్పుడు పేజీ ఇప్పటికే ఒక JavaScript ఫంక్షన్ లేవనెత్తింది ఒక యాంకర్ ట్యాగ్ ప్రసరిస్తుంది, "MySubmitPage" మరియు ఒక లక్షణం విలువ వెళుతుంది <వాడుకరి ఫిల్టర్> "ID" అనే నోడ్.
ఇది అప్పుడు పేజీ లోడ్ చెయ్యడానికి నిలబడుతుంది కొన్ని j క్వెరీ ప్రసరిస్తుంది. ఆ j క్వెరీ నవీకరణలను FilterValue గుణం యొక్క విలువ జోడించడం ద్వారా "QueryFriendlyFilters" అనే రహస్య రంగంలో. అన్ని వెర్రి గమనిక <XSL:టెక్స్ట్> మరియు <![CDATA[ ... ]]> వస్తువు.
అది, ఇది సహాయపడుతుంది ఆశిస్తున్నాము!
</చివర>
వద్ద ట్విట్టర్ లో నన్ను అనుసరించండి http://www.twitter.com/pagalvin
Can I use this approach to filter multiple list webparts in SharePoint via a XSLT?
ఎక్కువ, క్షమించండి నేను ఈ స్పందించింది ఎప్పుడూ. It’s ancient at this point and so I won’t try. I hope you figured out what you were trying to do :).