Reputation: 17
I've already read some answers here but it keeps giving me undefined or blank alerts.
So I've got this PHP code and whenever I click in one of the stars I want JQUERY to get the value from "div class="rating-stars".
This was the last I used. It displays a blank alert...
var pairing = $(this).closest('td').find('.rating-stars').val();
alert (pairing);
How do I do it? Thanks in advance.
echo'</td>
<td>
<div class="rating-stars" value="'.$row["pairing"].'">
<div id="stars">
<span class="star" title="Ó mãe! Que mal foi que eu te fiz?" data-value="1">
<span class="fa fa-star"></span>
</span>
<span class="star" title="Mais valia não ter aberto a garrafa!" data-value="2">
<span class="fa fa-star"></span>
</span>
<span class="star" title="Assim, assim…" data-value="3">
<span class="fa fa-star"></span>
</span>
<span class="star" title="Eu sabia! A mãe nunca se engana!" data-value="4">
<span class="fa fa-star"></span>
</span>
<span class="star" title="És a melhor mãe do mundo!" data-value="5">
<span class="fa fa-star"></span>
</span>
</div>
</div>
</div>
</td>
</tr>';
Upvotes: 0
Views: 41
Reputation: 780724
You can't use .val()
on DIVs, only input elements. Use a data-XXX
attribute, and read it with jQuery .data()
.
echo'</td>
<td>
<div class="rating-stars" data-stars="'.$row["pairing"].'">
<div id="stars">
<span class="star" title="Ó mãe! Que mal foi que eu te fiz?" data-value="1">
<span class="fa fa-star"></span>
</span>
<span class="star" title="Mais valia não ter aberto a garrafa!" data-value="2">
<span class="fa fa-star"></span>
</span>
<span class="star" title="Assim, assim…" data-value="3">
<span class="fa fa-star"></span>
</span>
<span class="star" title="Eu sabia! A mãe nunca se engana!" data-value="4">
<span class="fa fa-star"></span>
</span>
<span class="star" title="És a melhor mãe do mundo!" data-value="5">
<span class="fa fa-star"></span>
</span>
</div>
</div>
</div>
</td>
</tr>';
Then:
var pairing = $(this).closest('td').find('.rating-stars').data("stars");
Upvotes: 1