ajax调用后更新数据属性
Updating data attribute after ajax call
我有一个页面,其中列出了一些工作,每个工作有一个按钮支付,按钮有一个数据支付属性,其中包含是否支付的值。
当按钮被点击时,我向我的路由发送一个请求,该请求更新支付并返回成功以及是否支付的状态。
看我的按钮。
<button data-id="{{ $r->id }}" data-paid="{{ $r->paid }}" class="btn btn-success btn-sm paid">Paid</button>
当点击
$('button.paid').on('click', function() {
var job = this;
var id = $(this).data("id");
$.get('/round/job/' + id + '/paid', function(data){
$(job).data('paid',data.jh.paid);
console.log(data.jh.paid);
});
});
查看控制台时,如果付费,则路由返回1,如果未付费,则返回0。
我想用值为1或0的按钮更新data-paid属性。
我认为函数会这样做,但它不更新的值,它保持在值当页面加载
data
不是data-*
属性的访问器,它既多又少。data
管理元素的jQuery数据缓存,这只是初始化从data-*
属性。它从不把写入。
要实际更改属性值,请使用attr
,而不是data:
$(job).attr("data-paid", dta.jh.paid);
当然,如果您在整个代码中使用data
,并且不关心实际属性值,只是作为起点,data
是可以的,只是不要期望在更改数据值时属性值会改变。
另一方面,如果您不需要data
提供的附加功能,则只需使用attr
。
的例子:
// Get the element
var t = $("#target");
// See what its data value for "foo" is
console.log("Before: t.data('foo') = " + t.data('foo'));
// See what its *attribute* is
console.log("Before: t.attr('data-foo') = " + t.attr('data-foo'));
// Change it
t.data('foo', 'updated');
// See what its data value for "foo" is again
console.log("After: t.data('foo') = " + t.data('foo'));
// See what its *attribute* is again:
console.log("After: t.attr('data-foo') = " + t.attr('data-foo'));
<div id="target" data-foo="bar"></div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
。数据和数据属性是不同的。如果你想更新属性,可以这样做:
$('button.paid').on('click', function() {
var job = this;
var id = $(this).data("id");
$.get('/round/job/' + id + '/paid', function(data){
$(job).attr('data-paid', data.jh.paid);
console.log(data.jh.paid);
});
});
相关文章:
- 无法更新 Kendo-grid 中的值 - 无法读取未执行的“数据”属性
- 如何获取数据属性中存在的现有JSON并更新它
- 调整窗口大小时更新数据属性
- 使用数据属性通过 jquery 定位和更新变量
- 如何在 Ajax 上更新数据属性完成
- 单击时从数据属性获取更新的值
- Html5 数据属性在 ajax 请求后未更新
- Javascript/jQuery插件问题(未更新数据属性)
- JQueryUI自动完成不会't从选择框中更新其数据属性
- 数据变量没有从Vue.js中的监视器上的计算属性更新
- 引导程序's的模态数据属性未更新
- 数据属性没有更新,onclick事件仍然在上面
- 更新数据属性对象属性值
- jquery数据拾取器基于数据属性的动态更新
- JQuery更新数据-属性/值
- ajax调用后更新数据属性
- 如何在jQUery中使用数据属性从表中更新数据
- jQuery setInterval持续更新数据属性
- 如何更新条带支付数据属性
- HTML数据属性可以't由Jquery更新