jquery slideToggle() 関数を apex:pageBlockTable のデータ行にバインドしようとしています。
テーブルに情報を表示していて、誰かが任意の行をクリックすると、その連絡先に関連する追加情報がスライダーに表示され、残りの行が下に移動するようにします。もう一度クリックすると、スライダーが上に移動し、すべてが正常に戻ります。
私が間違っていなければ、1 つの div に行要素 (apex:columns) をバインドし、もう 1 つの div にスライダーの情報をバインドする必要があると思います。しかし、どういうわけかこれは機能していません。
コードは次のとおりです。
<apex:page controller="xingShowSearchResult">
<head>
<style type="text/css">
#rowInfo,#rows{
padding:5px;
text-align:center;
background-color:#e5eecc;
border:solid 1px #c3c3c3;
}
#rowInfo {
width:50px;
display:none;
}
</style>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js">
</script>
<script>
$j = jQuery.noConflict();
$j(document).ready(function(){
$j("#rows").click(function(){
$j("#rowInfo").slideToggle("slow");
});
});
</script>
</head>
<body>
<apex:pageMessages />
<div id='backtoDiv' style="height:20px;">
<apex:outputLink value="/apex/XingPageTab" style="color:blue;">Back to Home Page</apex:outputLink>
</div>
<apex:pageBlock title="Suche Kontakte">
<apex:pageBlockSection columns="1">
<apex:form style="float:right" >
<apex:commandLink style="height:20px;font-weight: bold;" value="Suchergebnisse entfernen" action="{!deleteSearchResult}" />
</apex:form>
</apex:pageBlockSection>
<apex:pageBlockTable value="{!newList}" var="contacts" id="contactsTable">
<div id="rows">
<apex:column >
<apex:image url="{!contacts.photoURL__c}" />
</apex:column>
<apex:column headerValue="Name"> {!contacts.displayName__c}</apex:column>
<apex:column headerValue="Firma"> {!contacts.firma__c}</apex:column>
<apex:column headerValue="Title" > {!contacts.title__c}</apex:column>
</div>
<div id="rowInfo" >
<p>
This is the paragraph to end all paragraphs. You
should feel <em>lucky</em> to have seen such a paragraph in
your life. Congratulations!
</p>
</div>
</apex:pageBlockTable>
</apex:pageBlock>
</body>
</apex:page>
私は Visualforce と JS を理解しようとしているので、助けていただければ幸いです。
最高、アンキット