我想有一个下拉菜单供用户选择数据库表。 我已经定义在db.py几张桌子,我希望用户选择从下拉菜单中选择一个特定表并插入项。 现在,我使用SQLFORM:
def index():
form=SQLFORM(db.selectedtable) #want to change the table name#
if form.process().accepted:
response.flash = 'form accepted'
elif form.errors:
response.flash = 'form has errors'
else:
response.flash = 'please fill out the form'
return dict(form=form)
我需要的用户选择从下拉列表中,显示在数据库中的所有可用的表“selectedtable的价值。 我并不想从数据库中检索表中的值。 我与定义与现有表和下拉菜单可以从列表拉力表名称的列表确定。 到目前为止,我只找到IS_IN_DB自动创建一个下拉列表,并PluginDropdown()但是,这并不为我的目的。 如果soemebody可以直接给我处理这个任务的正确方法,我会真的很感谢。
问候。
更新:
安东尼的suggession后,我试着用下面的,因为我没那么熟悉的JS。
{{extend 'layout.html'}}
{{select='NONE'}}
<form>
<select>
{{for item in TOOLS:}}
<option value="{{select=item}}">{{=item}}</option>{{pass}}
</select>
<input type="submit" value="Go!"/>
</form>
<h2>Input form</h2>
{{=form}}
<h2>{{=select}}</h2>
正如你可能会看到,这并不正常工作。 我试图做的是让用户选择值“选择”变量。 但是,这是行不通的。 它总是得到中的项目(这个列表中db.py定义)的最后一个元素。 我的下一个选择是要调用另一个控制器功能,通过用户选择的值作为参数。 然后,它可与传递的值制备的形式,并且发送到一个视图中显示
<h2>Input form</h2>
{{=form}}
但我不知道我怎么可以将用户选择的值赋给一个参数,然后调用与arugument价值的另一个控制器功能。 如果您有任何建议,我怎么能修改此来获取用户选择的值这就是非常赞赏。 谢谢。