webForumDet fria alternativet

Innehåll i Comboboxar

Java

14 svar · 262 visningar · startad av WebbisNet

Medlem sedan feb. 20032 027 inlägg
Frågan#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

Medlem 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>
Medlem 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

Medlem 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>
Medlem 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
^

Medlem 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?

Medlem 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

Medlem 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.

Medlem 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)

Medlem sedan mars 20007 896 inlägg
#10

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

Medlem 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

Medlem 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.

Medlem 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

Medlem sedan mars 20007 896 inlägg
#14

Vad är det som blir fel då?

Medlem sedan feb. 20032 027 inlägg
#15

SPiN skrev:

Vad är det som blir fel då?

din radering funkar inte

257 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
119 ms — deklarationer (db)
0 ms — hämta statistik (cache)
130 ms — hämta tråd, inlägg och bilagor (db)
124 ms — ändringar (db)