Avatar billede midgaardsorm Nybegynder
07. februar 2007 - 11:46 Der er 7 kommentarer og
1 løsning

Et valg i en box bestemmer hvad der kan vælges i en anden box

Hej

Jeg har en formular med et antal felter der skal udfyldes.

I det ene felt vælger man en leverandør fra en database
I det næste skal man kunne vælge vare fra den leverandør men ikke fra andre leverandøre.

Dette skal ske på samme side og i samme formular.

Hvordan gør jeg det ???????
Avatar billede loukas Mester
07. februar 2007 - 23:52 #1
Har du varer og leverandører til at ligge i en database?
Avatar billede loukas Mester
07. februar 2007 - 23:53 #2
Ups, jeg mener hvordan ser tabellerne ud?
en vareTabel og en LeverandørTabel eller?
Avatar billede loukas Mester
08. februar 2007 - 00:07 #3
Her har du i hvert fald et udkast/inspiration til en måde at gøre det på

<script type="text/javascript">
function submitForm(){
document.UploadForm.submit();
}
</script>


<select NAME="leverandorId" onchange="submitForm()">
    <option value="1">Leverandør1</option>
    <option value="2">Leverandør2</option>
</select>

<%
If request.form("leverandorId") > 0 then

strSQL = "SELECT * FROM varer WHERE leverandorId="&request.form("leverandorId")&""
    set rs = conn.execute(strSQL)

   
    Response.Write "<select name=""vare"">

    Do While Not rs.EOF
    Response.Write "<option value="""& rs("vareId") &""">"& rs("VareNavn") &"</option>"
    rss.MoveNext
    Loop

    Response.Write "</select>"

end if
%>
Avatar billede midgaardsorm Nybegynder
08. februar 2007 - 09:18 #4
Leverandor ligger i en tabel ved navn Leverandor
Vare ligger i en tabel ved navn Vare

Begge tabeller kan opdateres fra en anden side.

Vil du have feltnavne fra tabellerne ?

<option value="1">Leverandør1</option> betyder dette ikke at mine leverandører skal skrives i koden ?
Avatar billede midgaardsorm Nybegynder
09. februar 2007 - 10:09 #5
Jeg har parret det du skrev men min egen kode :
<html>

<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>ASP fra Notepad</title>
</head>

<body>

<script type="text/javascript">
function submitForm(){
document.UploadForm.submit();
}
</script>


<!--#include file="../../_fpclass/fpdblib.inc"-->

<%
fp_sQry="SELECT Leverandor FROM Leverandor ORDER BY Leverandor ASC"
fp_sDefault=""
fp_sNoRecords="Der er ikke blevet returneret nogen poster."
fp_sDataConn="web"
fp_iMaxRecords=0
fp_iCommandType=1
fp_iPageSize=0
fp_fTableFormat=False
fp_fMenuFormat=True
fp_sMenuChoice="Leverandor"
fp_sMenuValue="Leverandor"
fp_iDisplayCols=2
fp_fCustomQuery=False
BOTID=0
fp_iRegion=BOTID
%>

<select name="Leverandor" onchange="submitForm()" size="1">
<!--#include file="../../_fpclass/fpdbrgn1.inc"-->
<option><%=FP_FieldHTML(fp_rs,"Leverandor")%></option>
<!--#include file="../../_fpclass/fpdbrgn2.inc"-->
</select>

<script type="text/javascript">
function submitForm(){
document.UploadForm.submit();
}
</script>
<!--#include file="../../_fpclass/fpdblib.inc"-->

<%
If request.form("Leverandor") > 0 then

fp_sQry="SELECT Leverandors_vare_nr, OSSI_vare_nr FROM Vare WHERE Leverandor="&request.form("Leverandor")&""
fp_sDefault=""
fp_sNoRecords="Der er ikke blevet returneret nogen poster."
fp_sDataConn="web"
fp_iMaxRecords=256
fp_iCommandType=1
fp_iPageSize=0
fp_fTableFormat=False
fp_fMenuFormat=True
fp_sMenuChoice="Leverandors_vare_nr"
fp_sMenuValue="Leverandors_vare_nr"
fp_iDisplayCols=1
fp_fCustomQuery=True
BOTID=1
fp_iRegion=BOTID

Response.Write "<select name=""vare"">"

    Do While Not rs.EOF
    Response.Write "<option value="""& rs("Leverandors_vare_nr") &""">"& rs("OSSI_vare_nr") &"</option>"
    rss.MoveNext
    Loop

    Response.Write "</select>"

end if
%>

<!--#include file="../../_fpclass/fpdbrgn1.inc"-->
<option><%=FP_FieldHTML(fp_rs,"Leverandors_vare_nr")%></option>
<!--#include file="../../_fpclass/fpdbrgn2.inc"-->
</select>

</p>
Jeg får bare ikke det ønskt resultat og jeg tror at det ligger i denne del
Do While Not rs.EOF
    Response.Write "<option value="""& rs("Leverandors_vare_nr") &""">"& rs("OSSI_vare_nr") &"</option>"
    rss.MoveNext
    Loop
for det første box vises og virker.
Avatar billede midgaardsorm Nybegynder
21. februar 2007 - 14:03 #6
Hmm.....der var vist ikke mere hjælp at hente ?
Avatar billede midgaardsorm Nybegynder
22. februar 2007 - 08:40 #7
<%
    if Request("cboPrimary") = "" then
        lPrimary = "1"
    else
        lPrimary = Request("cboPrimary")
    end if
%>
<form name=frmTest action="TwoCombo.asp" method=POST>
<p>
<select name=cboPrimary size=1 onChange="frmTest.submit();">
<option value="1"<%if lPrimary = "1" then Response.Write " SELECTED"%>>Numbers
<option value="2"<%if lPrimary = "2" then Response.Write " SELECTED"%>>Fruit
<option value="3"<%if lPrimary = "3" then Response.Write " SELECTED"%>>Animals
</select>
</p>
<p>
<select name=cboSecondary size=1">
<%    select case lPrimary
    case "1"%>
<option value="1">One
<option value="2">Two
<option value="3">Three
    <%case "2"%>
<option value="4">Apple
<option value="5">Orange
<option value="6">Pear
    <%case "3"%>
<option value="4">Dog
<option value="5">Cat
<option value="6">Bear
    <%end select
%>
</select>
</form>

Denne kode gør det jeg gerne vil men <option> skal komme fra en SQL-DB
Avatar billede midgaardsorm Nybegynder
22. februar 2007 - 12:16 #8
PROBLEM LØST !!!

Denne kode er en kombination mellem en stump fra nettet og mine oplysninger :
<%
strconn = "Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=web;Data Source=KVALITET\SQL2005"
set conn = server.createobject("adodb.connection")
conn.open strconn
set objRS = createobject("ADODB.Recordset")
objRS.Open "select Leverandor, LevID from Leverandor ORDER BY Leverandor", strconn
if Request("cboPrimary") = "" then
lPrimary = objRS("LevID")
else
lPrimary = clng(Request("cboPrimary"))
end if
%>
<form name=frmTest method=get>

<head>

</head>

<select id="select1" name="cboPrimary" size="1&quot;" onchange="frmTest.submit();">
  <%while not objRS.EOF
lID = clng(objRS("LevID"))%>
  <option value="<%=lID%>" <%if lprimary = lid then response.write " selected"%>><%=objRS("Leverandor")%>
  <% objRS.MoveNext
wend
objRS.Close
%>
</select>
</form>
<form action="process.asp" method="post">
  <select id="select2" name="cboSecondary" size="1&quot;">
    <%
objRS.Open "select Leverandors_vare_nr, VareID from Vare WHERE  LevID=" & lPrimary , strconn
while not objRS.EOF
lID = clng(objRS("VareID"))%>
    <option value="<%=lID%>"><%=objRS("Leverandors_vare_nr")%> <%
objRS.MoveNext
wend
objRS.Close
set objRS.ActiveConnection = nothing
set objRS = nothing
%>
  </select>
</form>
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester