在我的rails应用程序中,我有一个任务栏。选择复选框时,我需要过滤任务栏中的内容。为此,我必须重新加载一个特定的div。
我尝试了以下内容。
$("input:checkbox").change(function(){
'<%@final_tasks= @final_tasks.find(142)%>'
$("#task_content").reload();
});
此处task_content
是div类名。但是我的代码没有用。请帮帮我..
答案 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();