21. oktober 2004 - 21:24Der er
11 kommentarer og 1 løsning
Autoselect af option i <select>
Hej, jeg skal bruge lidt hjælp... jeg sidder og bakser med at få selected en option i en <select> automatisk, baseret på et nr der står i en mysql database... hvad jeg har nu, er et script der bl.a. fylder to select bokse, hvorefter select nr. 2 skal sættes til den entry nr. 1 referere til i databasen... jeg har en funktion jeg køre via onChange i nr. 1, der har jeg så en if-else, der afgøre om den pågældende option skal være selected, det eneste jeg mangler er en funktion der kan markere den pågældende option som selected....
min funktion ser sådan ud:
function select_kunde(pid, mid, selected) { // mid er lig selectbox nr. 1's value... // pid er id'et på select nr. 2... // selected er det id select nr. 1 refererer til...
if (document.getElementById(pid).value == "NULL") document.getElementById(pid).options.length=1; //reset projekt select... else document.getElementById(pid).options.length=0; //reset projekt select...
for (var i = 0; i <= array_count; i ++) { if (kundenr[i] == mid) { if (pnr[i] == selected) { document.getElementById(pid).options[document.getElementById(pid).options.length] = new Option(beskrivelse[i].substr(0,28), pnr[i]); } else document.getElementById(pid).options[document.getElementById(pid).options.length] = new Option(beskrivelse[i].substr(0,28), pnr[i]); } } }
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
function select_kunde(pid, mid, selected) { // mid er lig selectbox nr. 1's value... // pid er id'et på select nr. 2... // selected er det id select nr. 1 refererer til...
var sel = document.getElementById(pid); if (sel.value == "NULL") sel.options.length=1; //reset projekt select... else sel.options.length=0; //reset projekt select...
for (var i = 0; i <= array_count; i ++) { if (kundenr[i] == mid) { sel.options[sel.length] = new Option(beskrivelse[i].substr(0,28), pnr[i]); if (pnr[i] == selected) sel.options[sel.length-1].selected = true; } } }
-- og er det rigtigt, at array_count-variablen indeholder et tal, som er en mindre end antallet ?-)
hmm... wierd... bør man kunne give sig selv point? så er det da ingen sag at få top score :-/
anyways... hvis jeg gør: for (var i = 0; i < array_count; i ++) { vil der jo være een for lidt i den sidste ende... da array_count er lig antallet... så hvis antallet er 6 (+ 0 = 7) vil nr. 6 ikke blive kørt igennem, idet 6 ikke er mindre end 6... :)
Jeg regner med at php på dette område har det præcist som javascript, derfor skrev jeg som jeg gjorde @ 21/10-2004 22:49:28 ...
-- så hvis du laver et array på 6 elementer, vil array[6] være undefined !-)
-- men du kan gøre det lidt lettere for dig selv, ved at:
<?php $sql = @mysql_query("SELECT projekter.kundenr, projekter.projekt_nr, projekter.beskrivelse FROM projekter WHERE projekter.slut_dato > CURDATE()") or die("--></script><strong>MySQL forespørgslen kunne ikke udføres!</strong><br><br>" . mysql_error() . '<p id="bottom" class="main_control"></p>'); while ($row = mysql_fetch_array($sql)) { ?> kundenr[kundenr.length] = <?php echo $row['kundenr'] ?>; pnr[pnr.length] = <?php echo $row['projekt_nr'] ?>; beskrivelse[beskrivelse.length] = "<?php echo substr($row['beskrivelse'],0,40) ?>"; <?php } ?>
-- og så rette linjerne midt i js-koden til:
for (var i = 0; i < pnr.length; i ++) { if (kundenr[i] == mid) {
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.