Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien

Dropdown in HTML

Pagina: 1
Acties:

  • FoShiZzlz
  • Registratie: December 2013
  • Laatst online: 10-12-2020
Hey,
Ik ben een informatica student en moet voor school een website maken.
Ik heb een probleem met een dropdown in HTML, het gaat om een variabele lijst met categorieën die worden opgehaald uit een MYSQL database. Ik heb de volgende (niet werkende) code, ik hoop dat iemand mij kan helpen en dat het een simpel foutje is wat makkelijk opgelost kan worden...

de code die ik nu heb:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<select name="Category">
     
     <c:choose> 
    
    
                     <c:when test="${not empty categories}">
                    
                            <c:forEach items="${categories}" var="category">
                                <option value="${category.getName()}"> ${category.getName()}</option>
                            </c:forEach>
                           
                            <c:otherwise>
                            <p>temperairly unavailable</p>
                            </c:otherwise>
                            </c:when>


                  </c:choose>


</select>

[ Voor 0% gewijzigd door BtM909 op 19-12-2013 23:29 ]


  • Matis
  • Registratie: Januari 2007
  • Laatst online: 12:06

Matis

Rubber Rocket

Ik zie het al. temperairly natuurlijk temporarily zijn.

Daarnaast ben ik benieuwd naar de foutmeldingen.

If money talks then I'm a mime
If time is money then I'm out of time


  • FoShiZzlz
  • Registratie: December 2013
  • Laatst online: 10-12-2020
hahaha. Ik weet niet waar ik die foutmelding zou moeten vinden. Ik keek zelf op die site via localhost en zag daar dat die dropdown het niet deed.

  • CH4OS
  • Registratie: April 2002
  • Niet online

CH4OS

It's a kind of magic

Welke programmeer taal is dit? HTML is het in ieder geval niet, daarnaast kan je geen <p> tag binnen de select <tag> hebben, die kan alleen <option> en <optgroup> (zo uit mijn hoofd) hebben. Als je een kant en klare library gebruikt om eea te genereren, laat dan ook even weten welke. :)

Kun je ook aangeven wat je al hebt geprobeerd? En een foutmelding (bijvoorbeeld in logboek) zou fijn zijn.

[ Voor 35% gewijzigd door CH4OS op 20-12-2013 00:05 ]


  • Jermaine
  • Registratie: Januari 2003
  • Laatst online: 20-11 13:49
FoShiZzlz schreef op donderdag 19 december 2013 @ 23:22:
Ik heb de volgende (niet werkende) code, ik hoop dat iemand mij kan helpen en dat het een simpel foutje is wat makkelijk opgelost kan worden...
En wát werkt er niet? Wat krijg je wel te zien?

  • FoShiZzlz
  • Registratie: December 2013
  • Laatst online: 10-12-2020
Jermaine schreef op vrijdag 20 december 2013 @ 00:08:
[...]

En wát werkt er niet? Wat krijg je wel te zien?
ik krijg Category en een lege dropdown

  • Merethil
  • Registratie: December 2008
  • Laatst online: 08:50
CptChaos schreef op vrijdag 20 december 2013 @ 00:03:
Welke programmeer taal is dit? HTML is het in ieder geval niet, daarnaast kan je geen <p> tag binnen de select <tag> hebben, die kan alleen <option> en <optgroup> (zo uit mijn hoofd) hebben. Als je een kant en klare library gebruikt om eea te genereren, laat dan ook even weten welke. :)

Kun je ook aangeven wat je al hebt geprobeerd? En een foutmelding (bijvoorbeeld in logboek) zou fijn zijn.
Gezien de prefixes is het JSP (Java).

Wat zit er in categories? Al eens met een debugger er doorheen gelopen? Als het goed is, als je bijvoorbeeld Eclipse draait, kan je makkelijk alles debuggen en vlak voor je de categories ook echt verzend in je ModelAndView bekijken wat er allemaal in zit.
Kans is dat je c:when gewoon niet goed werkt en je dus een lege lijst in je dropdown gooit.

Edit: Je c:when en c:otherwise mogen trouwens niet IN elkaar zitten, die horen achter elkaar. Je krijgt dan zoiets:

Java:
1
2
3
4
5
6
7
<c:when /* do test */>
   // Do something
</c:when>

<c:otherwise>
   // Do something else
</c:otherwise>

[ Voor 12% gewijzigd door Merethil op 20-12-2013 00:14 ]


  • FoShiZzlz
  • Registratie: December 2013
  • Laatst online: 10-12-2020
CptChaos schreef op vrijdag 20 december 2013 @ 00:03:
Welke programmeer taal is dit? HTML is het in ieder geval niet, daarnaast kan je geen <p> tag binnen de select <tag> hebben, die kan alleen <option> en <optgroup> (zo uit mijn hoofd) hebben. Als je een kant en klare library gebruikt om eea te genereren, laat dan ook even weten welke. :)

Kun je ook aangeven wat je al hebt geprobeerd? En een foutmelding (bijvoorbeeld in logboek) zou fijn zijn.
ik ben nogal een beginner. ik heb deze code samengesteld met wat ik tegen ben gekomen op internet en van wat klasgenoten geprogrammeerd hebben in hetzelfde project. Echter bevatte het project nog geen andere dropdown. En voor zover ik weet is het HTML, maar als jij zegt van niet dan geloof ik je meteen.

  • Merethil
  • Registratie: December 2008
  • Laatst online: 08:50
FoShiZzlz schreef op vrijdag 20 december 2013 @ 00:13:
[...]


ik ben nogal een beginner. ik heb deze code samengesteld met wat ik tegen ben gekomen op internet en van wat klasgenoten geprogrammeerd hebben in hetzelfde project. Echter bevatte het project nog geen andere dropdown. En voor zover ik weet is het HTML, maar als jij zegt van niet dan geloof ik je meteen.
Wacht, dus je hebt hier geen andere programmeertaal achter draaien? Alleen maar HTML zonder dat je categories vult vanuit een databaseconnectie? Of mis ik hier iets...?

  • FoShiZzlz
  • Registratie: December 2013
  • Laatst online: 10-12-2020
Merethil schreef op vrijdag 20 december 2013 @ 00:15:
[...]


Wacht, dus je hebt hier geen andere programmeertaal achter draaien? Alleen maar HTML zonder dat je categories vult vanuit een databaseconnectie? Of mis ik hier iets...?
Ik denk dat je gelijk had met JSP. Ik heb een database via MYSQL.

  • Merethil
  • Registratie: December 2008
  • Laatst online: 08:50
FoShiZzlz schreef op vrijdag 20 december 2013 @ 00:20:
[...]


Ik denk dat je gelijk had met JSP. Ik heb een database via MYSQL.
Kan je de code van hoe je categories vult posten hier? (Tussen code tags, net zoals ik deed)

Oftewel, de code die data uit je MySQL haalt en in de categories stopt?

  • AW_Bos
  • Registratie: April 2002
  • Laatst online: 12:11

AW_Bos

Liefhebber van nostalgie... 🕰️

Je zegt dus dat er iets mis is met je dropdown? Wat staat er nou precies in de de HTML-broncode (CTRL+U) van je site (uitgevoerd vanaf localhost)? Die lap code bovenaan? Of iets als dit? ...

code:
1
2
<select name="Category">
</select>

[ Voor 8% gewijzigd door AW_Bos op 20-12-2013 00:23 ]

Telecommunicatie van vroeger
🚅Alles over spoor en treintjes


  • FoShiZzlz
  • Registratie: December 2013
  • Laatst online: 10-12-2020
Hier is de code die het ophaalt:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
@Entity
@Table(name="courseCategory")
public class CourseCategory implements Serializable {
    
    @Id
    @GeneratedValue
    private int Id;
    private String Name;


    public int getId() {
        return Id;
    }

    public void setId(int Id) {
        this.Id = Id;
    }

    public String getName() {
        return Name;
    }

    public void setName(String Name) {
        this.Name = Name;
    }


    public static List retrieveList(int offset) {
        // Retrieve NewsItems from the DB
        List<CourseCategory> courseCategories;
        org.hibernate.Session session = HibernateUtil.getSessionFactory().getCurrentSession();
        Transaction tx = session.beginTransaction();
        
        Criteria criteria = session.createCriteria(CourseCategory.class);
        courseCategories = criteria.list();
        
        return courseCategories;
    }
    
    public static Object retrieveItem(int id) {
        org.hibernate.Session session = HibernateUtil.getSessionFactory().getCurrentSession();
        Transaction tx = session.beginTransaction();
        
        return session.get(CourseCategory.class, id); 
    }

}

  • FoShiZzlz
  • Registratie: December 2013
  • Laatst online: 10-12-2020
AW_Bos schreef op vrijdag 20 december 2013 @ 00:22:
Je zegt dus dat er iets mis is met je dropdown? Wat staat er nou precies in de de HTML-broncode (CTRL+U) van je site (uitgevoerd vanaf localhost)? Die lap code bovenaan? Of iets als dit? ...

code:
1
2
<select name="Category">
</select>
Ik heb een Macbook en gebruik safari, cmd+U voert niks uit...

  • Merethil
  • Registratie: December 2008
  • Laatst online: 08:50
Code tags zijn wat er ook gebruikt is in je openingspost, een code-field die om je code heen staat en automatisch de juiste indentatie e.d. meepakt.

Hoe dan ook: Dit is inderdaad alle code waarmee je de data ophaalt, maar stop je die data ook in de "categories"?

Trouwens: er zijn wat tips over je HTML gegeven, werkt het wel als je de HTML aanpast naar wat de rest zei?
FoShiZzlz schreef op vrijdag 20 december 2013 @ 00:26:
[...]


Ik heb een Macbook en gebruik safari, cmd+U voert niks uit...
In Safari kan je een develop-mode aanzetten (in de settings zoeken), dan kan je gewoon kijken naar de broncode van de pagina.


Edit: Alt + Cmd + U schijnt de sneltoets te zijn.

[ Voor 3% gewijzigd door Merethil op 20-12-2013 00:28 ]


  • FoShiZzlz
  • Registratie: December 2013
  • Laatst online: 10-12-2020
code:
1
2
3
<select name="Category">
  temperarily unavailable
</select>

[ Voor 3% gewijzigd door FoShiZzlz op 20-12-2013 00:36 ]


  • Merethil
  • Registratie: December 2008
  • Laatst online: 08:50
FoShiZzlz schreef op vrijdag 20 december 2013 @ 00:35:
[...]


code:
1
2
3
<select name="Category">
  temperarily unavailable
</select>
Het ziet er naar uit dat je dus geen informatie hebt in je database, of in ieder geval niet in je categories.
Zoals ik al eerder zei: Waar zet je het IN categories (de, naar ik verneem array of list, die je doorgeeft aan je pagina)?

  • FoShiZzlz
  • Registratie: December 2013
  • Laatst online: 10-12-2020
Merethil schreef op vrijdag 20 december 2013 @ 00:36:
[...]


Het ziet er naar uit dat je dus geen informatie hebt in je database, of in ieder geval niet in je categories.
Zoals ik al eerder zei: Waar zet je het IN categories (de, naar ik verneem array of list, die je doorgeeft aan je pagina)?
In ieder geval alvast bedankt voor al je moeite (de rest ook bedankt natuurlijk) en ik zal even kijken of ik dat inderdaad kan vinden.
De categorieën worden op de site wel weergegeven in andere onderdelen vanuit dezelfde database, bijv. met dit stukje (werkende) code;
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
   <c:choose>
            <c:when test="${not empty categories}">
                <c:forEach items="${categories}" var="category">
                   <div class="categorydiv">
                <div class="topic">
                <h4>${category.getName()}</h4>
                </div>
                <div class="responses">
                    <p>Responses</p> 
                </div>
                <div class="last_reaction">
                    <p>Last reaction </p>
                </div>
                <div class="posted_by">
                    <p>Posted by </p>
                </div>
            </div>
                </c:forEach>
            </c:when>
            <c:otherwise>
                <p>There are no categories</p>
            </c:otherwise>
        </c:choose>

  • Merethil
  • Registratie: December 2008
  • Laatst online: 08:50
FoShiZzlz schreef op vrijdag 20 december 2013 @ 00:41:
[...]


In ieder geval alvast bedankt voor al je moeite (de rest ook bedankt natuurlijk) en ik zal even kijken of ik dat inderdaad kan vinden.
De categorieën worden op de site wel weergegeven in andere onderdelen vanuit dezelfde database, bijv. met dit stukje (werkende) code;
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
   <c:choose>
            <c:when test="${not empty categories}">
                <c:forEach items="${categories}" var="category">
                   <div class="categorydiv">
                <div class="topic">
                <h4>${category.getName()}</h4>
                </div>
                <div class="responses">
                    <p>Responses</p> 
                </div>
                <div class="last_reaction">
                    <p>Last reaction </p>
                </div>
                <div class="posted_by">
                    <p>Posted by </p>
                </div>
            </div>
                </c:forEach>
            </c:when>
            <c:otherwise>
                <p>There are no categories</p>
            </c:otherwise>
        </c:choose>
Is dit dezelfde pagina? Want als dat zo is dan zou categories gevuld moeten zijn en is je HTML en JSP gewoon niet goed opgebouwd (denk ook aan de c:when en c:otherwise die verkeerd staan in je openingspost, samen met een <p> in je <select> tag)

Als het een andere pagina is dan moet je een andere controller toewijzen en kan je niet hetzelfde categories-object (list, array, arraylist?) gebruiken.

  • FoShiZzlz
  • Registratie: December 2013
  • Laatst online: 10-12-2020
Het is inderdaad in een andere pagina. En de when heb ik verplaatst. Waar zou ik de <p> evt voor kunnen vervangen(ik heb nu niks staan tussen otherw /otherw? die list kan ik niet vinden. Ik hou het voor vandaag maar voor gezien. Erg bedankt voor je hulp iig.

  • Merethil
  • Registratie: December 2008
  • Laatst online: 08:50
FoShiZzlz schreef op vrijdag 20 december 2013 @ 00:53:
Het is inderdaad in een andere pagina. En de when heb ik verplaatst. Waar zou ik de <p> evt voor kunnen vervangen(ik heb nu niks staan tussen otherw /otherw? die list kan ik niet vinden. Ik hou het voor vandaag maar voor gezien. Erg bedankt voor je hulp iig.
Gewoon een enkele <option> met daartussen "Temporarily unavailable", zou voldoende moeten zijn in deze testcase. In productie wil je dat natuurlijk nooit doen, maar da's een ander verhaal.

Hopelijk vind je morgen je probleem, mocht het niet lukken post dan even een relevante codeset (degene waarmee je nu test) en we kunnen je misschien verder helpen ;)
Pagina: 1