【发布时间】:2015-12-14 20:53:59
【问题描述】:
我有一个带有data-value 属性的upvote/downvote 按钮,其中1 和-1 作为值。
我正在使用$(this).children().attr('data-value') 获取值并将其提交到数据库,但即使我所做的只是投反对票,它也总是返回一个正值。
我也尝试过使用$(this).children().data('value'),结果相同。
我正在使用jquery.upvote.js
表格
{!! Form::open(['url' => 'votes', 'class' => 'votes']) !!}
<div class="upvote topic" data-post="{{ $post->id }}">
<a class="upvote vote" data-value="1"></a>
<span class="count">0</span>
<a class="downvote vote" data-value="-1"></a>
</div>
{!! Form::close() !!}
Javascript
$('.topic').upvote();
$('.topic').on('click', function (e) {
e.preventDefault();
var data = {value: $(this).children().attr('data-value'), post_id: $(this).data('post')};
var clicked_button = $(this).children();
if($(clicked_button).hasClass('downvote-on')) {
$.ajaxSetup({
headers: {
'X-CSRF-TOKEN': $('[name="_token"]').val()
}
});
$.ajax({
type: "POST",
url: 'http://localhost/laravel-5/public/votes',
dataType: 'JSON',
data: data
});
} else if ($(clicked_button).hasClass('upvote-on')) {
$.ajaxSetup({
headers: {
'X-CSRF-TOKEN': $('[name="_token"]').val()
}
});
$.ajax({
type: "POST",
url: 'http://localhost/laravel-5/public/votes',
dataType: 'JSON',
data: data
});
}
});
【问题讨论】:
-
试试这个。 $(".downvote").getAttribute("data-value");
-
我收到
Uncaught TypeError: $(...).getAttribute is not a function -
Praveen 有我认为的观点。
标签: javascript jquery html ajax laravel