Asp; Javascipt Sql2000

sEKi

Grünschnabel
HI all

weiss zwar ned genau ob mir da einer weiterhelfen kann aber ich hab da mal ein problem :)

also hier erstmal was ich damit bisher mache

also ich lese aus der datenbank SQL2000 aus und lasse die daten in einem loop solange wiederholn bis er EOF ist wenn ich dann in dem select fenster den datensatz auswaehle waehlt er dazu die entsprechenden datensaetze aus dem 2ten select fenster aus..

also z.b. ich waehle das project und will dann dazu die verschiedenen jobs angezeigt bekommen! das klappt hier auch....nur will ich das javascript noch so erweitern das es sich auch noch auf ein 3tes select fenster anspricht also
z.b. company --> project --> job

dazu ist aber denke ich das javascript welches ich hier verwende nicht moeglich....wollte fragen ob einer von euch mir da vielleicht helfen kann bzw mir ein passendes javascipt schicken bzw posten koennte erweitern bzw auf meine speziellen wuensche anpassen :)

also hier erstmal wie es im mom aussieht!

Code:
' *** projectauslese
SET rs_prj_all = Server.CreateObject("ADODB.RecordSet") 
sql = "SELECT id_project, id_company, project_name FROM project WHERE (flg_del = 0) AND (flg_closed = 0) ORDER BY project_name"
'Response.Write(sql)
SET rs_prj_all = db_usr.Execute(sql)
  
IF NOT rs_prj_all.EOF THEN
  DO UNTIL rs_prj_all.EOF
    id_project_last = rs_prj_all("id_project")
    rs_prj_all.MoveNext
  LOOP    
  rs_prj_all.MoveFirst
END IF
..........

..........
<SCRIPT LANGUAGE="JavaScript">
jobarray = new Array(
<%
DO UNTIL rs_prj_all.EOF
  id_project = rs_prj_all("id_project") %>
new Array(
<%
  SET rs_jbs_all = Server.CreateObject("ADODB.RecordSet") 
  sql = "SELECT job.id_job, job.job_name, job.job_start, job.job_end FROM job WHERE id_project = "& id_project &" AND flg_del = 0 ORDER BY job_name"
  'Response.Write(sql)
  SET rs_jbs_all = db_usr.Execute(sql)
  
  IF NOT rs_jbs_all.EOF THEN
    DO UNTIL rs_jbs_all.EOF
      id_job = rs_jbs_all("id_job")
      job_name = rs_jbs_all("job_name") %>
new Array("<% = job_name %>", <% = id_job %>)<% rs_jbs_all.MoveNext %><% IF NOT rs_jbs_all.EOF THEN Response.Write(",") END IF %>
 <% LOOP %>
<% ELSE %>
new Array("--- Keine Jobs vorhanden! ---", 0)
<% END IF %>
)<% IF NOT id_project_last = id_project THEN Response.Write(",") END IF %>
<%
  rs_prj_all.MoveNext
LOOP
%>
);
function fillSelectFromArray(selectCtrl, itemArray, goodPrompt, badPrompt, defaultItem) {
var i, j;
var prompt;
// empty existing items
for (i = selectCtrl.options.length; i >= 0; i--) {
selectCtrl.options[i] = null; 
}
prompt = (itemArray != null) ? goodPrompt : badPrompt;
if (prompt == null) {
j = 0;
}
else {
selectCtrl.options[0] = new Option(prompt);
j = 1;
}
if (itemArray != null) {
// add new items
for (i = 0; i < itemArray.length; i++) {
selectCtrl.options[j] = new Option(itemArray[i][0]);
if (itemArray[i][1] != null) {
selectCtrl.options[j].value = itemArray[i][1]; 
}
j++;
}
// select first item (prompt) for sub list
selectCtrl.options[0].selected = true;
   }
}
</script>
..........

..........
  <tr>
    <td class="content">
        <% IF err_date = TRUE THEN %><span class="littlered">Please choose project and job.</span><br><% END IF %>
        <select size="1" name="id_prj" class="formtext" onChange="fillSelectFromArray(this.form.Jobarray, ((this.selectedIndex == -1) ? null : jobarray[this.selectedIndex-1]));">
        <option value="-1">--- Project ---</option>
     <% rs_prj_all.MoveFirst
        counter_prj = 1
        DO UNTIL rs_prj_all.EOF
          id_project = rs_prj_all("id_project")
          project_name = rs_prj_all("project_name") %>
        <option value="<% = counter_prj %>"<% IF id_prj_active = id_project THEN Response.Write (" SELECTED") END IF %>><% = project_name %></option>
       <% counter_prj = counter_prj + 1
          rs_prj_all.MoveNext
        LOOP %>
        </select>    
    </td>
  </tr>
..........

wenn ihr mir helfen koennt dann koennt ihr mir auch mailen seki@datamoda.de

mfg sEKi
 
achja was ich vielleciht dazusagen muesste es ist ein dynamisches javascript es besteht aus arrays in einem array das ist soweit ganz ok aber laesst sich ned auf 3, 4, 5 etc erweitern...

mfg
 

Neue Beiträge

Zurück