佳礼资讯网

 找回密码
 注册

ADVERTISEMENT

查看: 1085|回复: 3

关于onchange comboBox 的问题

[复制链接]
squall83 该用户已被删除
发表于 14-12-2006 04:51 PM | 显示全部楼层 |阅读模式
若我有两个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 编辑 ]
回复

使用道具 举报


ADVERTISEMENT

发表于 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
回复

使用道具 举报

squall83 该用户已被删除
 楼主| 发表于 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 | 显示全部楼层
原帖由 squall83 于 14-12-2006 05:36 PM 发表


谢谢回复。。。虽然不是很明白,但是我好像得到一些启示。。。

当PAGE一开始LOADING时,就把全部的 B VALUE 从 database 拿出来,然后转到 javascript 的 variable,那之后 ONCHANGE A 的时候,就不需要再 ...



你要做 paging 吗?

要看你的资料库是否支持 bookmarks , 及你可以自己设定 AbsolutePosition/AbsolutePage

看这里:

http://www.asp101.com/samples/db_count.asp

再看这里:

http://www.asp101.com/samples/viewasp.asp?file=db_paging.asp
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

 

ADVERTISEMENT


本周最热论坛帖子本周最热论坛帖子

ADVERTISEMENT



ADVERTISEMENT

ADVERTISEMENT


版权所有 © 1996-2023 Cari Internet Sdn Bhd (483575-W)|IPSERVERONE 提供云主机|广告刊登|关于我们|私隐权|免控|投诉|联络|脸书|佳礼资讯网

GMT+8, 26-8-2025 07:53 PM , Processed in 0.132087 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表