Как сделать кнопку "Нравится" с помощью флажка для хранения случайно сгенерированных котировок в массиве - PullRequest
0 голосов
/ 14 июля 2020
• 1000 другое всплывающее окно. Итак, это то, что у меня есть до сих пор с кнопкой флажка внутри моего массива, объект с именем
var quotes = [
{verses: "This is my first quote", chapter: "Psalm 139:7-10", data: "Never be Lost", id: "like1", like: '<input type="checkbox" name="like" id="like1"><label for="like1"><img src="not_liked.svg" alt="Wanna Like It? " width="16"></label>'},
{verses: "This is my second quote", chapter: "Matthew 27:32-44", data: "The Crucifixion of Jesus", id: "like2", like: '<input type="checkbox" name="like" id="like2"><label for="like1"><img src="not_liked.svg" alt="Wanna Like It? " width="16"></label>'},]$(document).ready(function () {
console.log(likedVerses);
function showQuote () {
    var init = Object.keys(quotes);
    var rng = init[Math.floor(Math.random()*init.length)];
    $('.quote').html(quotes[rng].verses);
    $('.name').html(quotes[rng].chapter);
    $('.meaning').html(quotes[rng].data);
    $('.like').html(quotes[rng].like);
}});

Затем я добавил цикл for l oop через массив внутри моей функции document.ready

    $("input[type='checkbox']").click(function () {
    for (var i = 0; i < quotes.length; i++){
        if(quotes[i].id === this.id){
            if ($(this).is(":not(:checked)")){
                
            }
            else {
                likedVerses.push(quotes[i])
            }
            break;
        }
    }

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

1 Ответ

0 голосов
/ 29 июля 2020

Я использовал метод .find и смог l oop через массив, чтобы я мог отображать его в моем HTML

    $('#like1').on('click', function () {
    var versesFind = $(".quote");
    var nameFind = $(".name");
    var meaningFind = $(".meaning")
    $("div").find(versesFind, nameFind, meaningFind).each(function () {
        likedVerses[likedVerses.length]={'verses':$(versesFind).html(), 'name':$(nameFind).html(), 'meaning':$(meaningFind).html()}
    });
    $('.likedVersesHtml').html("");
    for (var j = 0; j < likedVerses.length; j++){
        $('.likedVersesHtml').append('<div>' + likedVerses[j].verses + '</div>' + '<div>' + likedVerses[j].name + '</div>' + '<div>' + likedVerses[j].meaning + '</div>');
    }
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...