动态更新隐藏的字段值

时间:2012-04-20 09:53:01

标签: jquery ruby-on-rails

我正在使用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>");
            });
        });
    });
});

1 个答案:

答案 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>");
            });
        });
});

});