我有带有数据库数据的html代码。我需要通过AJAX更新这些数据,这样用户就可以在不刷新页面的情况下获得新的汇率。这是Laravel刀片模板:
@foreach ($currencies as $currency)
<div class="currency-{{ $currency->id }}">
<div class="cur-id">{{ $currency->id }}</div>
<div class="cur-name">{{ $currency->cur_name }}</div>
<div class="cur-sell">{{ $currency->cur_sell + 0 }}</div>
<div class="cur-buy">{{ $currency->cur_buy + 0 }}</div>
</div>
@endforeach加载页面后-它有实际的数据,但是在1分钟后刷新该数据,所以我每分钟发出一个AJAX请求:
$.ajax({
type: 'GET',
url: '/ajax-currencies',
dataType: 'json',
success: function (data) {
$.each(data, function(index, element) {
$('.currency-+element.id+.cur-sell').text(element.cur_sell);
});
}
});使用json对象的“/ajax-通货”响应。如何将每个具有其值的对象放入其中以更正div - currency-1 (有自己的值)、currency-2 (有自己的值)等,所以如下所示:
<div class="currency-1">
<div class="cur-id">1</div>
<div class="cur-name">Bitcoin</div>
</div>
<div class="currency-2">
<div class="cur-id">2</div>
<div class="cur-name">Ethereum</div>
</div>发布于 2017-05-27 07:44:26
我不知道你为什么要分类。如果您的div有特殊的类,那么您可以通过这些类找到div并直接在这些div中插入数据。你已经试着这么做了,但不对。您的each回调应该是:
function(index, element) {
$('.currency-' + element.id + ' .cur-sell').text(element.cur_sell);
// alternative version
//$('.currency-' + element.id).find('.cur-sell').text(element.cur_sell);
}请参阅,我将element.id从引号中移出,因为javascript不能解析引用字符串中的变量。
我还在选择器中的类之间添加了一个空间,因为像.class1.class2这样的选择器将尝试在应用了的两个类中查找项,这是您不想要的。
另外,我还使用find()方法添加了替代选择器。举个例子。
现在,选择器应该选择正确的div。
https://stackoverflow.com/questions/44214199
复制相似问题