如何从数据值属性返回负值?
How do I return negative value from data-value attribute?
我有一个带有data-value
属性的upvote/downvote按钮,1
和-1
为值。
我使用$(this).children().attr('data-value')
来获取值并将其提交到数据库,但它总是返回一个正值,即使我所做的一切都是downvote帖子。
我也尝试使用$(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
});
}
});
仔细检查代码后,我可以看到处理程序附加到<div>
而不是<a>
。当有多个<a>
标签时,这将取最后一个。因此,请确保将事件处理程序附加到<a>
,而不是任何其他。
$('.topic .vote').on('click', function (e) {
e.preventDefault();
var data = {value: $(this).attr('data-value')
尝试使用$(element).data("value")
代替。
看看下面的小提琴:
$(function () {
$("a").click(function () {
event.preventDefault();
alert("attr: " + $(this).attr("data-value") + "'ndata: " + $(this).data("value"));
});
});
* {box-sizing: border-box; margin: 0; padding: 0; list-style: none; font-family: 'Segoe UI';}
a {text-decoration: none;}
<script src="https://code.jquery.com/jquery-1.9.1.js"></script>
<p><a href="#" data-value="-1">Get Data (-1)</a></p>
<p><a href="#" data-value="1">Get Data (1)</a></p>
相关文章:
- MongoDB (php) - 以数组而不是多个属性的形式返回文档属性
- jQuery可以't获取data-*属性值,返回undefined
- JavaScript-获取数据属性的值返回未定义的值
- angularjs如何从返回值中找到正确的属性
- 访问嵌套 json 对象的属性将返回未定义
- Javascript未返回样式属性
- 如何将返回一串数字的 JSON 属性转换为日期
- hasOwnProperty 在对照父对象属性进行检查时返回 true
- JavaScript 这返回未知属性
- img src 属性在为空时返回页面的 URL
- 窗口对象属性返回一个dom节点
- 根据其他属性返回的值设置属性
- 使用MeteorJS堆栈,如何使用对象的id返回该对象的属性
- 从具有最高值的对象返回属性
- jQuery on change don't返回属性值
- Java 脚本中的 getAttribute(attr) 方法返回属性的先前值
- 从函数返回属性映射
- 返回属性(XHR)未定义
- 如何返回属性名
- attr('value')返回属性值而不是属性值