我正在使用jquery smartupdater用json数据更新i div。我必须在请求中发送隐藏字段的值,并根据响应更新相同隐藏字段的值。
问题在于,当我收到响应时,字段值在dom中更新,但更新后的值不会再次附加到url。
这是我的代码:---
<div id="device_activities" class="hl_synopsis">
<p id="no_update">;No Updates Available </p>;
</div>
<%= hidden_field_tag 'last_act', ''%>
和javascript代码: -
$(document).ready(function(){
var temp = $('#last_act_id').val();
console.log("temp-->"+temp);
$("#device_activities").smartupdater({
url : '<%= get_activity_path%>',
data: {"last_act_id":$("#last_act").val()},
dataType : 'json',
minTimeout : 6000
}, function(data) {
$('#last_act').val(data[data.length-1].id);
console.log(data[data.length-1].id);
console.log($('#last_act').val());
$.each(data, function() {
$('div#device_activities p#no_update').remove();
$.each(this, function(key, value) {
$("div#device_activities").append("<p id='activity'><strong>" + key + " :</strong> " + value + "</p>");
});
});
});
});
答案 0 :(得分:0)
感谢您的回复。我遇到了问题,它是在smartupdator请求格式。第一次重复配置的智能更新器发送请求。为了发送带有更新字段值的请求,您需要更新smartupdator url。
我通过添加: -
来完成这项工作(文档)$。就绪(函数(){
$("#device_activities").smartupdater({
url : '<%= get_activity_path%>',
dataType : 'json',
minTimeout : 10000
}, function(data) {
<!-- Get last activity id from json and update smartupdater url using it, after that delet id element from json data -->
$("#device_activities").smartupdater("alterUrl", '<%= get_activity_path%>', {"last_act_id": data[data.length-1].id});
$.each(data, function() {
if(data[0] != undefined && $('div#device_activities p#no_update')){
$('div#device_activities p#no_update').remove();
}
$.each(this, function(key, value) {<!-- update activity div from json -->
$("div#device_activities").append("<p id='activity'><strong>" + key + " :</strong> " + value + "</p>");
});
});
});
});