Muszę ustawić wartość atrybutu, aby pokazać "X" ilości gwiazd, ale musisz uruchomić zdarzenie do mojej bazy danych, aby uzyskać średnią i użyć tego numeru?

Oto ten HTML z identyfikatorem atrybutu "Data-Value-Value" lubię dynamicznie modyfikować.

<div id="randomtest" data-productid="randomtest" class="rateit" data-rateit-value=""></div>

Próbowałem tego, żeby go zmodyfikować bez zdarzenia, aby zapytać bazy danych i nie ustawiło go? Więc potrzebuję porady, zanim przejdę do włączenia wydarzenia.

$('#randomtest').attr( 'data-rateit-value','4');

Ale kiedy jestem w stanie, będę w stanie ustawić go dynamicznie, tak jak dokonałem podstawowej demo poniżej? Jeśli niektóre dalsze wskazówki byłyby bardzo doceniane.

$.ajax({
    url: 'currentvalue.php',
    data: { id: productID, value: value },
    type: 'POST',

    success: setCurrentValue
});

function setCurrentValue(data) {
    $('#randomtest').attr( 'data-rateit-value'.append(data));
}

Dzięki za wszelką pomoc

edytuj Zmieniłem zapytanie i wyniki do tego i ostrzega z liczbą całkowitą, ale nadal nie dołącza do atrybutu

$.ajax({
    url: 'currentstars.php', //your server side script
    data: { id: productID, value: value }, //our data
    type: 'POST',

    success: function(results) { 
    alert(results);
    $('.rateit').attr( 'data-rateit-value'.append(results))
    }
});

Nie wiem, czy to pomaga z nikim starając się opracować, dlaczego nie działa?

0
akaBase 19 sierpień 2014, 06:03

3 odpowiedzi

Najlepsza odpowiedź

Mam to pracować !!

$.ajax({
    url: 'currentstars.php',
    data: { id: productID, value: value },
    type: 'POST',

    success: function(results) { 
    $('.rateit').rateit('value', (results));
    }
});

Z tym zapytaniem i funkcją jestem w stanie zaktualizować do średniej oceny, gdy obie strona jest załadowana, a gdy wybrana jest ocena !!!

Co za koszmar był lol :)

0
akaBase 19 sierpień 2014, 03:40

Najpierw powiedziałbym, że powinieneś sprawdzić, czy wrócisz, czego oczekujesz od serwera:

function setCurrentValue(data) {
    console.log(data);
    ...
}

Jaka jest struktura data?

Nie jestem pewien, co chcesz się wydarzyć z funkcją SetCurrentValue, masz pewne błędy składniowe w linii $('#randomtest').attr( 'data-rateit-value'.append(data));. attr można nazwać attr(attribute, value) więc może $('#randomtest').attr( 'data-rateit-value', data); jest bliżej tego, czego potrzebujesz

1
dehrg 19 sierpień 2014, 02:08

Próbujesz użyć .Append na atrybutach, których nie sądzę, jest właściwy sposób. Spróbuj tego-

$.ajax({
    url: 'currentvalue.php',
    data: { id: productID, value: value },
    type: 'POST',
    success: function(){setCurrentValue(data);}
 });

function setCurrentValue(data) {
    $('#randomtest').attr( 'data-rateit-value',data);
    //Or $('#randomtest').data( 'rateit-value',data);
}
0
Sai Prasad Sabeson 19 sierpień 2014, 02:15