webForumDet fria alternativet

Innehåll i Comboboxar

14 svar · 262 visningar · startad av WebbisNet

WebbisNetMedlem sedan feb. 20032 027 inlägg
#1
<b>Det här har jag i varukorgen:</b>

<%
v = ShoppingCart.getShoppingCart();

for (int i=0;i < v.size();i++) {
p = (Product) v.elementAt(i);
%>
<select name="Cart" size=1>
<option><%=p.getText() %>
 </select>
&nbsp; &nbsp;
<a target="mainframe" href="radera_vara.jsp?id=<%= i %>">Ta bort</a>

<% } %>

Hur skriver jag ovanstående så att innehållet hamnar i samma box varje gång man klickar på köp

just nu så skapas en ny box varje gång man klickar på köp

SPiNMedlem sedan mars 20007 896 inlägg
#2
<b>Det här har jag i varukorgen:</b>

<select name="Cart">
<%
v = ShoppingCart.getShoppingCart();

for (int i=0;i < v.size();i++) {
p = (Product) v.elementAt(i);
%>
<option><%=p.getText() %></option>
<% } %>
</select>
ViktorMedlem sedan aug. 20021 752 inlägg
#3

Re: Innehåll i Comboboxar

Det här borde fungera,

<b>Det här har jag i varukorgen:</b>
<%
	v = ShoppingCart.getShoppingCart();
%>
<select name="Cart" size=1>
<%
	for (int i=0;i < v.size();i++)
	{
		p = (Product) v.elementAt(i);
%>
<option><%=p.getText() %>
<%
}
%>
</select>

&nbsp; &nbsp;
<a target="mainframe" href="radera_vara.jsp?id=<%= i %>">Ta bort</a>

En annan sak, titta lite närmare på List och Map collection klasserna, de är de nya klasserna som har ersatt vector i Java 1.4. Men som du märker så fungerar Vector fortfarande :)

/Viktor

SPiNMedlem sedan mars 20007 896 inlägg
#4

Vill du ha med en knapp för att ta bort en vara kan du göra så här:

<b>Det här har jag i varukorgen:</b>

<select name="Cart">
<%
v = ShoppingCart.getShoppingCart();

for (int i=0;i < v.size();i++) {
p = (Product) v.elementAt(i);
%>
<option name="<%=i%>"><%=p.getText() %></option>
<% } %>
</select>

<a href="#" onclick="location.href='radera_vara.jsp?id=' + document.Cart.options[document.Cart.selectedIndex].value;">Ta bort vara</a>
WebbisNetMedlem sedan feb. 20032 027 inlägg
#5

SPiN skrev:

Vill du ha med en knapp för att ta bort en vara kan du göra så här:

<b>Det här har jag i varukorgen:</b>

<select name="Cart">
<%
v = ShoppingCart.getShoppingCart();

for (int i=0;i < v.size();i++) {
p = (Product) v.elementAt(i);
%>
<option name="<%=i%>"><%=p.getText() %></option>
<% } %>
</select>

<a href="#" onclick="location.href='radera_vara.jsp?id=' + document.Cart.options[document.Cart.selectedIndex].value;">Ta bort vara</a>

Koden funkar, MEN inget raderas från boxen
^

SPiNMedlem sedan mars 20007 896 inlägg
#6

Inget raderas från boxen? Hur ser filen 'radera_vara.jsp' ut då? Får du något felmeddelande?

WebbisNetMedlem sedan feb. 20032 027 inlägg
#7

SPiN skrev:

Inget raderas från boxen? Hur ser filen 'radera_vara.jsp' ut då? Får du något felmeddelande?

radera vara.jsp
<%

int id = Integer.parseInt(request.getParameter("id"));
Vector v = ShoppingCart.getShoppingCart();
Product p = new Product();
p = (Product) v.elementAt(id);
v.removeElementAt(id);

%>

Nu har jag

<form name="Cart" action="radera_vara.jsp?id=<%=i%>">

<b>Det här har jag i varukorgen:</b>
 <select name="Cart">
 <%
 v = ShoppingCart.getShoppingCart();
 for (int i=0;i < v.size();i++)
 { p = (Product) v.elementAt(i);
 %>
 <option name="<%=i%>">
<%=p.getText() %>
</option>
 <% } %>
 </select>
 <input type="submit" value="Ta bort vara">
</form>

och får
C:\Program\Apache Software Foundation\Tomcat 5.0\work\Catalina\localhost\web\org\apache\jsp\index_jsp.java:253: cannot resolve symbol
symbol : variable i
location: class org.apache.jsp.index_jsp
out.print(i);
^
1 error

SPiNMedlem sedan mars 20007 896 inlägg
#8

Du kan inte göra så, eftersom att variabeln 'i' inte är deklarerad innan du gör din for-sats. Gör som jag visade, så bör det gå bättre.

WebbisNetMedlem sedan feb. 20032 027 inlägg
#9

SPiN skrev:

Du kan inte göra så, eftersom att variabeln 'i' inte är deklarerad innan du gör din for-sats. Gör som jag visade, så bör det gå bättre.

<%
v = ShoppingCart.getShoppingCart();
for (int i=0;i < v.size();i++)
{ p = (Product) v.elementAt(i);
%>
<b>Det här har jag i varukorgen:</b>
<form name="Cart" action="radera_vara.jsp?id=<%=i%>">
<select name="Cart">

<option name="<%=i%>">
<%=p.getText() %>
</option>

</select>

<input type="submit" value="Ta bort vara">
</form>
<% } %>

Nu får jag bara null när jag klickar på knappen "Ta bort vara"

java.lang.NumberFormatException: null
java.lang.Integer.parseInt(Integer.java:394)
java.lang.Integer.parseInt(Integer.java:476)
org.apache.jsp.radera_005fvara_jsp._jspService(radera_005fvara_jsp.java:80)

SPiNMedlem sedan mars 20007 896 inlägg
#10

Gör du så kommer du att få en select-sats för varje vara.

WebbisNetMedlem sedan feb. 20032 027 inlägg
#11

SPiN skrev:

Gör du så kommer du att få en select-sats för varje vara.

men kom med nåt intelligent förslag då på hur jag ska göra

SPiNMedlem sedan mars 20007 896 inlägg
#12

Tja, gör du som jag visade i mitt första exempel för hur du ska ta bort en vara så bör det fungera.

WebbisNetMedlem sedan feb. 20032 027 inlägg
#13

SPiN skrev:

Tja, gör du som jag visade i mitt första exempel för hur du ska ta bort en vara så bör det fungera.

så enligt dig, om man inte gör på ditt sätt så funkar det inte......har ju inte ens fått dit att funka än heller

SPiNMedlem sedan mars 20007 896 inlägg
#14

Vad är det som blir fel då?

WebbisNetMedlem sedan feb. 20032 027 inlägg
#15

SPiN skrev:

Vad är det som blir fel då?

din radering funkar inte

130 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
128 ms — hämta tråd, inlägg och bilagor (db)