2016-04-26 3 views
4

Ich habe ein HTML-Auswahlfeld mit einem size von 1 zu starten und möchte das jedes Mal, wenn eine neue Option in das Feld einfügt erhöhen. Ich kann die Optionen ohne Probleme einfügen, aber ich kann nicht den richtigen Weg, um die Größe zu erhöhen. Ich habe versucht, this SO post zu folgen, aber der Code funktioniert nicht und ich sehe nicht wirklich, was ich vermisse. HierMit jQuery, um die Größe Attribut der HTML-Auswahlbox zu erhöhen

ist der entsprechende Code:

var currentSize = $("#SelectedProjects").attr("size"); 
currentSize++; 
alert(currentSize); 
$("SelectedProjects").attr("size", currentSize); 

Als Test ich Alarmieren des currentSize und Alarm gibt die richtige Nummer, aber wenn ich versuche, es zuweisen die Box nicht wächst. Was fehlt mir hier?

+3

Fehlende '#' am zweiten '$ (" # SelectedProjects ")'. –

+0

Haben Sie '$ (" # SelectedProjects ") versucht. Attr ('Größe', '3');'? – hmd

+1

Wenn Sie wiederholt ein Element (oder eine Gruppe von Elementen) auswählen, würde ich empfehlen, eine lokale Variable als Cache zu verwenden und nicht jedes Mal nachzuschlagen - 'var $ selectedProducts = $ (" # SelectedProducts ") ; 'Damit wäre auch dein Tippfehler gelöst :) – Archer

Antwort

3

Ihre letzte Codezeile fehlt verweist auf ein Element mit der ID SelectedProjects. Stattdessen sucht es jetzt nach einem SelectedProjects Element.

Fix dies, indem die fehlenden #:

var currentSize = $("#SelectedProjects").attr("size"); 
currentSize++; 
alert(currentSize); 
$("#SelectedProjects").attr("size", currentSize); 
<!-- ^^^^^ here --> 

Hoffnung, das hilft.

Verwandte Themen