大家好!今天是第二天,昨天讲了讲NoahWeb中"表单"的入门知识,今天我们来接着看看其他内容。
表单中的各种控件中,只要牵扯到带有“被选值”的控件,比如select,radio,choice类型等等,在NoahWeb表单中就可以使用Values标签来为其提供“被选值”,使用Values标签还可以很容易的从数据库中获得被选值内容,Values用起来很方便。今天给大家讲的就是这部分内容。
还记得昨天说到的那些控件吗?比如Select,就是下拉单,表单里最常用的。一个下拉单中的可选值可以用
1<option value="">标签往里加,就像下面的代码一样:
2
3> > ** <option value="A">A</option> **
4
5这个是用固定好的值来作为“被选值”内容的,而很多时候我可以是需要用数据库中存在的内容来作为被选值的,这情况下就可以使用我们今天要讲的内容——用数据库的内容作为被选值。我们还是看下面的代码好啦:
6
7> > <inputline desc="" text="部门:">
8>>
9>> <input id="mydept" type="select"/>
10>>
11>> <label></label>
12>>
13>> <labelclass>label</labelclass>
14>>
15>> <nullerrorstring>请选择员工所在部门!</nullerrorstring>
16>>
17>> < **Values** ValuesSQLLink="dept_S_all" ValuesSQLValue="[_LOOP.*.id]" ValuesSQLLabel="[_LOOP.*.name]" BySelectArrayString="[mydept]">
18>>
19>> <option value="">请选择</option>
20>>
21>> <!-- **Values** -->
22>>
23>> <class>myinputstyle</class>
24>>
25>>
26>>
27>> </inputline>
28
29上面的例子中,用dept_S_all这个数据库操作集查询了一下数据库的dept表,dept表的结构和内容如下:
30
31
32
33dept_S_all数据库操作集的在NoahWeb 设计 器中的样子如下:
34
35
36
37有关NoahWeb设计器中的数据库操作大家可以参看其他的文章,今天咱们讲表单就不说这些内容了。
38
39我们还是回过头来看代码。还是上面那段代码:
40
41> > <inputline desc="" text="部门:">
42>>
43>> ** <input id="mydept" type="select"/> **
44>>
45>> <label></label>
46>>
47>> <labelclass>label</labelclass>
48>>
49>> <nullerrorstring>请选择员工所在部门!</nullerrorstring>
50>>
51>> < **Values** ValuesSQLLink="dept_S_all" ValuesSQLValue="[_LOOP.*.id]" ValuesSQLLabel="[_LOOP.*.name]" BySelectArrayString="[mydept]">
52>>
53>> <option value="">请选择</option>
54>>
55>> <!-- **Values** -->
56>>
57>> <class>myinputstyle</class>
58>>
59>> ** **
60>>
61>> </inputline>
62
63大家看到上面代码中的Input的Type了吗?是个Select是下拉单,再看看Values标签中的部分,细节部分听我慢慢道来!
64
65> 1、先看Values标签,它可以用来指定控件中可选值的来源。而今天讲的使用数据库查询方式给控件提供可选值就需要配合使用Values标签的几个参数。
66>
67> 2、参数ValueSQLLink来指定一个数据库操作集,用来表明通过那一个数据库操作来获得被选值的内容。现在我指定的就是“dept_S_all”这个操作集。这样就会根据dept_S_all操作集的返回结果来循环生成被选值内容。
68>
69> 3、ValueSQLValue参数来表示该控件的可选择值的值所对应的变量表达式,简单点说我们希望用数据库中的id字段的内容来做为被选值的值内容就可以写成“[_LOOP.*.id]”。在这说明一下NoahWeb中的变量都是使用"[]"来标识的,而[_LOOP.*.id]就是一种变量表示的方法,要了解更多NoahWeb变量表示方法大家可以查看NoahWeb的官方文档。
70>
71> 4,ValuesSQLLabel参数表示该控件的可选择值的值所对应的名称表达式。简单点说我们希望用数据库中的name字段内容来做被选值的显示文本,就写成“[_LOOP.*.name]”。
72>
73> 说白了,ValuesSQLLabel是在下拉单中看到的值,而ValueSQLValue则是当你在下拉单中选择了一个值之后它所对应的值。
74>
75> 把这个select放到一个NoahWeb表单中的时候,我们看看表单中的样子。如下图:
76
77
78
79本新闻共 2 页,当前在第 1 页 1 2</option>