如何使用Jquery重新加载特定的div?

时间:2014-08-29 06:33:18

标签: javascript jquery html css ruby-on-rails

在我的rails应用程序中,我有一个任务栏。选择复选框时,我需要过滤任务栏中的内容。为此,我必须重新加载一个特定的div。

我尝试了以下内容。

$("input:checkbox").change(function(){ 
  '<%@final_tasks= @final_tasks.find(142)%>'
  $("#task_content").reload();
});

此处task_content是div类名。但是我的代码没有用。请帮帮我..

3 个答案:

答案 0 :(得分:3)

您必须向控制器发送某种GET请求以获取新信息。

$("input:checkbox").change(function(){
  $.get('/your_controller/task_content', function(data) {
    $("#task_content").html(data.final_tasks);
  }
});

所以你的控制器会有一些查找操作。我们称之为task_content

def task_content
  @final_tasks= @final_tasks.find(142)
  # though I assume you want this to be more dynamic so this is just an example
  respond_to do |format|
    format.json {render json: {final_tasks: @final_tasks} }
  end
end

然后务必在routes.rb中添加一条路线:

 get 'your_controller/task_content'     => 'your_controller#task_content'

答案 1 :(得分:0)

尝试这样

function get_data(val)
{
   $.post('path_fro_data.php',{'value':val},
           function(data) 
              {
                $("#div_task").html(data);
              }
          );

}

在html中

<input type="checkbox" id="check_1" name="check_1" value="1" onchange="get_data(this.value);"/>
<input type="checkbox" id="check_2" name="check_2" value="2" onchange="get_data(this.value);"/>

在服务器脚本中(对于例如.php页面)从数据库中获取与发送数据相对应的数据。

答案 2 :(得分:0)

创建了一个名为refresh的插件,因此无论您需要刷新内容,都可以调用该函数。请检查以下代码。

$.fn.refresh = function(options) {

    var options = {
        contentURL : 'xxx.html'
    };
    options = $.extend({},options);
    return this.each(function() {
        var obj = $(this);
        setTimeout( function() {
            obj.fadeOut('slow').load(options.contentURL).fadeIn('slow');      
        }, 2000);            
    });

};
$('#task_content').refresh();