<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>
<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 <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 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>
<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 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>
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 Inget raderas från boxen? Hur ser filen 'radera_vara.jsp' ut då? Får du något felmeddelande?
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 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.
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 Gör du så kommer du att få en select-sats för varje vara.
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 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.
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 Vad är det som blir fel då?