ACTIVE SERVER PAGE > DB 데이타 자바스크립트 배열에 넣기
등록일 : 2017-07-03 20:09
조회수 : 69,158
<%
Response.Write("<script LANGUAGE='javascript'>" & Chr(13))
Response.Write("<!--" & Chr(13))
Response.Write("var code1 = new Array()" & Chr(13))
Response.Write("var area1 = new Array()" & Chr(13))
Response.Write("var area2 = new Array()" & Chr(13))
idx=0
Set rs = Server.CreateObject("ADODB.RecordSet")
SQL = "SELECT idx_num,area,idx_area FROM area2"
rs.Open SQL, Conn
Do Until rs.EOF
code = rs("idx_num")
name = rs("area")
area = rs("idx_area")
Response.Write("code1[" & idx & "] = '" & CStr(code) & "';")
Response.Write("area1[" & idx & "] = '" & CStr(name) & "';")
Response.Write("area2[" & idx & "] = '" & CStr(area) & "';")
rs.MoveNext
idx = idx + 1
Loop
rs.Close
%>
-->
</script>
<script language='javascript'>
<!--
function change_area(form,k)
{
var cnt = 0, i;
for(i = 0; i < form.area2.length; i++);
form.area2.options[i] = null;
form.area2.length = 0;
form.area2.options[cnt++] = new Option('선택','0');
for(i = 0; i < code1.length; i++)
{
if(form.area1.options[k].value == code1[i])
{
form.area2.options[cnt++] = new Option(area1[i],area2[i]);
}
}
}
-->
</script>
' 실제 코딩 부분...--------------------------------------
<select name="area1" onchange="change_area(this.form,form.area1.selectedIndex)">
<option value="0">[선택]
<%
Set rs = Server.CreateObject("ADODB.RecordSet")
SQL = "SELECT idx_num,area FROM area1 order by idx_num"
rs.Open SQL, Conn
%>
<%
do while not rs.EOF
%>
<option value="<%=rs("idx_num")%>"><%=rs("area")%>
<%
rs.movenext
loop
%>
</select>
<select name="area2">
<option value="0">[선택]
</select>
일단 위의 예제를 보기 전에,,, 자바스크립 강좌에 -> form에관련된 팁 -> select 팁 을 가서
확인해 본후 테스트 해 보시기 바랍니다.
그 예제의 데이타를 디비에서 가지고 온다고 가정을 했을때, 사용할수 있는 예제 입니다.