Я пытаюсь использовать функцию, в которой вы можете щелкнуть ссылку «СДЕЛАТЬ ЭТО МОЙ МАГАЗИН», и она сохраняет содержимое li на основе идентификатора и перетаскивает содержимое li на другую страницу.

Этот код:

<li><xsl:attribute name="id">store-<xsl:value-of select="@id"/></xsl:attribute></li>

Выходы на

<li id="store-1075"></li> 

И число 1075, представленное как «@id», меняется в зависимости от местоположения каждого магазина и наличия нескольких местоположений.

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>

Прямо сейчас у меня есть настройка для сохранения состояния ul id = "storeList" при нажатии с помощью localStorage.setItem. И затем каждый раз, когда идентификатор #storeList появляется в коде, он будет извлекать любое значение, сохраненное в localStorage, как показано ниже:

$(function() {

var save = $('#storeList').get(0);

$(save).click(function() {
localStorage.setItem('saved', this.innerHTML);

});


if ( localStorage.getItem('saved') ) {
save.innerHTML = localStorage.getItem('saved');

}

Очевидно, я этого не хочу. Вместо этого я хочу, чтобы он сохранял содержимое каждого щелчка мышью. Я хочу, чтобы код был примерно таким:

var id = any of the store ids or the specific ids, whatever works better.
var save = document.getElementById('store'+id);

Или, возможно, var id равняется массиву всех возможных номеров идентификаторов магазинов.

Основная цель - это страница поиска магазинов, где вы можете щелкнуть по одному или нескольким магазинам и сохранить их на своей странице «Мой магазин». У меня почти все работает, но я уперся в стену. Любая помощь была бы замечательной, и дайте мне знать, если мне нужно что-то уточнить. Я никогда не работаю с ASP, поэтому для меня это сложно, и я впервые делаю любой jQuery или javascript с нуля. Первоначально я пытался использовать его с файлами cookie, но вместо этого решил использовать localStorage, поскольку нет входа пользователя.

1
garw 24 Окт 2012 в 03:02

1 ответ

Лучший ответ

Я только что закончил проект аналогичного типа, надеюсь, это поможет вам в правильном направлении.

Внутри функции готовности документа:

$('.store').on('click', function () { // something with the class store clicked
    var storeStorageKey = $(this).attr('id'); // store id of the item 

        $(this).data('value', 1); // use of html5 data values on the html line helped alot, just settin static right now
 //set in local storage so refreshing the page remembers what youve clicked
        localStorage.setItem(storeStorageKey, $(this).data('value'));
 });

Теперь у вас может быть коллекция, к которой вы можете получить доступ через идентификаторы хранилища, хотя может быть лучше сохранить все значение локального хранилища в виде объекта JSON для итерации, в зависимости от того, что вы предпочитаете

Вот ссылка на мой проект javascript, который использовал локальное хранилище, если вам нужна ссылка https://github.com/Jrizzi1/ND-mSummit-bingo/blob/master/js/script.js

1
Jay Rizzi 24 Окт 2012 в 03:22
Спасибо за быстрый ответ. Я могу заставить его хранить определенные идентификаторы сейчас, но я не могу понять, как загрузить сохраненное содержимое идентификатора того, какой li был нажат и сохранен на другой странице.
 – 
garw
24 Окт 2012 в 23:20