Hi,
Massimo had given a solution on how to reload a component but its not
working. This is his solution:
Give a name to your components
{{=LOAD(...,target='one')}}
{{=LOAD(...,target='two')}}
{{=LOAD(...,target='three')}}
now any action can trigger a component reload
response.js="web2py_component('action','target')"
where action is the URL of the component and 'target' is 'one', 'two',
'three'', etc.
For me I have the following code which is failing to reload:
Controller:
def index():
response.subtitle = "Human Resource and Administration"
return dict()
def department():
db.department.id.readable = False
query = db(
db.department.id > 0).select(
db.department.name,
db.department.description)
fields = (
db.department.name, db.department.description)
link = [lambda row: A('Edit', _class='btw', _role='button',
_href=URL('administration','department.load#myModal'),**{'_data-toggle':'modal'})]
headers = {'
db.department.name': 'Department
Name','db.department.description': 'Description'}
default_sort_order=[
db.department.name]
form = SQLFORM.grid(db.department, headers=headers,
orderby=default_sort_order ,links=link, create=True, deletable=True,
editable=True, maxtextlength=64, paginate=25)
return dict(form=form)
def refresh():
response.js =
web2py_component('/intranet/administration/department.load','department_form')
return dict()
View:
<div class="tabbable"> <!-- Only required for left/right tabs -->
<ul class="nav nav-tabs">
<li class="active"><a href="#tab1" data-toggle="tab">Section 1</a></li>
<li><a href="#tab2" data-toggle="tab">Section 2</a></li>
<li class="dropdown">
<a class="dropdown-toggle"
data-toggle="dropdown"
href="#">
Meta Data
</a>
<ul class="dropdown-menu">
<li><a href="#tab3" id="department" tabindex="-1"
data-toggle="tab">Manage Departments</a></li>
<li><a href="#tab3" id="office" tabindex="-1"
data-toggle="tab">Manage Office Titles</a></li>
<li class="divider"></li>
<li><a href="#tab3" tabindex="-1" data-toggle="tab">Manage
List</a></li>
</ul>
</li>
</ul>
<div class="tab-content">
<div class="tab-pane active" id="tab1">
<p>I'm in Section 1.</p>
</div>
<div class="tab-pane" id="tab2">
<p>Howdy, I'm in Section 2.</p>
</div>
<div class="tab-pane" id="tab3">
{{=LOAD('administration','department.load',ajax=True,
target='department_form')}}
</div>
</div>
</div>
<div id="refreshed"></div>
<script>
jQuery('#department_form').hide();
jQuery('#department').click(function(){
ajax('{{=URL('administration','refresh')}}', [], 'refreshed');
jQuery('#department_form').show('fade');
});
</script>
When I refresh using the browser thats when i am having a new records
appearing on my grid
--
.......................................................................................
Teddy Lubasi Nyambe
Opensource Zambia
Lusaka, ZAMBIA
Cell:
+260 97 7760473
website:
http://www.opensource.org.zm
~/
Human Knowledge belongs to the world! - AntiTrust
Man is a tool-using animal. Without tools he is nothing, with tools he
is all - Thomas Carlyle 1795-1881
/~