查看: 1084|回复: 3
|
关于onchange comboBox 的问题
[复制链接]
|
|
若我有两个COMBO BOX,命名为 A 和 B,比如 A = COUNTRY , B = STATE
A |=====| B |=======|
当我选 A 的其中一个选项时,B 就会根据 A 的 VALUE 去将 DATABASE 里面的相关资料拿出来,比如说
我在 A 选 MALAYSIA, B 的 COMBOBOX 就会出现 SELANGOR, MELAKA, SEREMBAN 等等(从SERVER DATABASE拿出来的)。
如果我选 USA, B 则会出现 CHICAGO, LOS ANGELES 等等。
之前学过这个JAVASCRIPT:
document.form.name[a]=new Option(a,a);
不需要REFRESH PAGE即可转换 B 的COMBO BOX
然后有用过 ONCHANGE -> JAVASCRIPT(用来REFRESH) -> VBSCRIPT(response.write new option)
但是 refresh 整个网页太耗时了
后来有用 IFRAME, 虽然是 REFRESH B 一小部分,不过还是觉得不太完美。
我理想中要的是可以不需要REFRESH PAGE 就可以直接换 B 的选项了,像上面提过的 JAVASCRIPT,但是那个没有涉及 SERVER DATABASE。有什么方法可以做到?譬如 onchange -> javascript -> server vbscript database -> 在把VALUE给回 javascript ?
还是无论如何一定要用 AJAX?
[ 本帖最后由 squall83 于 14-12-2006 04:53 PM 编辑 ] |
|
|
|
|
|
|
|
发表于 14-12-2006 04:54 PM
|
显示全部楼层
If is only 2 combo then is simple. No need AJAX, use 3 arrays to do that. But if your data is a lot, then you might run into performance issues.
Hint:
1st array = All countries
2nd array = All states
3rd array = country index <-> state index |
|
|
|
|
|
|
|

楼主 |
发表于 14-12-2006 05:36 PM
|
显示全部楼层
原帖由 goatstudio 于 14-12-2006 04:54 PM 发表
If is only 2 combo then is simple. No need AJAX, use 3 arrays to do that. But if your data is a lot, then you might run into performance issues.
Hint:
1st array = All countries
2nd array = All ...
谢谢回复。。。虽然不是很明白,但是我好像得到一些启示。。。
当PAGE一开始LOADING时,就把全部的 B VALUE 从 database 拿出来,然后转到 javascript 的 variable,那之后 ONCHANGE A 的时候,就不需要再 CALL SERVERSIDE DATABASE 拿 B 的资料了,只需从 JAVASCRIPT 拿出来就行了,那就不用 REFRESH PAGE 但可以转换 B COMBOBOX 的选项了。。。
我会试试看。。
还有一个问题:
这个 objrs.recordcount
http://www.w3schools.com/ado/prop_rs_recordcount.asp
"If the Recordset object supports AbsolutePosition and AbsolutePage properties or bookmarks (if Supports(adApproxPosition) or Supports(adBookmark) returns true), this property will return the exact number of records in the Recordset."
它说必须支持 AbsolutePosition and AbsolutePage ,我怎么知道我的RECORDSET OBJECT 支持与否?这是本身编码的设置,还是DATABASE那边的设置?我用着的 DATABASE 是 ORACLE |
|
|
|
|
|
|
|
发表于 14-12-2006 11:26 PM
|
显示全部楼层
|
|
|
|
|
|
| |
本周最热论坛帖子
|