[MAKE IT MY STORE]リンクをクリックすると、IDに基づいてliのコンテンツが保存され、liのコンテンツが別のページに表示される機能を使用しようとしています。
このコード:
<li><xsl:attribute name="id">store-<xsl:value-of select="@id"/></xsl:attribute></li>
に出力
<li id="store-1075"></li>
また、「@ id」で表される番号1075は、各店舗の場所に基づいて変化し、複数の場所があります。
このセクションのliは、バックエンドに追加されたストアの場所を自動生成します。そのため、フロントエンドでは現在、複数のリストアイテムストアの場所が表示されます。
<ul id="storeList">
<xsl:for-each select="$currentPage/* [@isDoc]">
<xsl:sort select="@nodeName" order="ascending" />
<li>
<xsl:attribute name="id">store-<xsl:value-of select="@id"/></xsl:attribute>
<a href="{umbraco.library:NiceUrl(@id)}">
<img class="location-image" alt="">
<xsl:attribute name="src">
<xsl:value-of select="storeImage"/>
</xsl:attribute>
</img>
</a>
<a href="{umbraco.library:NiceUrl(@id)}">
<xsl:value-of select="location"/>
</a>
<p><xsl:value-of select="./address"/></p>
<p><xsl:value-of select="./addressCity"/></p>
<div class="makeMyStoreWrapper"><a class="makeMyStore" href="#"><xsl:attribute name="id">store-<xsl:value-of select="@id"/></xsl:attribute>MAKE IT MY STORE</a></div>
</li>
</xsl:for-each>
</ul>
現在、localStorage.setItemを使用してクリックしたときに、ul id="storeList"の状態を保存するように設定しています。そして、コードに#storeListのIDが表示されると、以下に示すように、localStorageに保存された値がすべて取り込まれます。
$(function() {
var save = $('#storeList').get(0);
$(save).click(function() {
localStorage.setItem('saved', this.innerHTML);
});
if ( localStorage.getItem('saved') ) {
save.innerHTML = localStorage.getItem('saved');
}
明らかに、これは私が望んでいることではありません。代わりに、クリックした個々のliのコンテンツを保存する必要があります。コードを次のようにします。
var id = any of the store ids or the specific ids, whatever works better.
var save = document.getElementById('store'+id);
または、varidがすべての可能なストアID番号の配列に等しい場合もあります。
主な目的は、1つ以上のストアをクリックして、それらを「マイストア」ページに保存できるストアロケーターページです。私はほとんどそれを機能させていますが、壁にぶつかりました。どんな助けでも素晴らしいでしょう、そして私が明確にする必要がある何かがあるかどうか私に知らせてください。私はASPを使用したことがないので、これは私にとってトリッキーであり、jQueryまたはjavascriptを最初から実行するのはこれが初めてです。私はもともとCookieで使用しようとしましたが、ユーザーログインがないため、代わりにlocalStorageを使用することにしました。