Avatar billede bigo Nybegynder
11. august 2006 - 14:31 Der er 6 kommentarer og
1 løsning

select udfyldt men ikke data tilbage

function fill_box(opt)
{
  s=document.booking_form.resource_list.options
  s.length=resources_array[opt].length+1;
  s[0].text = "-Choose Resource-";
  for(i=0;i<s.length-1;i++)
  {
    s[i+1].value=resources_array[opt][i]
    s[i+1].text=resources_array[opt][i]
  }
  document.booking_form.e_id.selectedIndex = 0;
  document.booking_form.resource_list.selectedIndex = 0;
}


udfylder en select boks for mig. Det fungerer fint, men hvis jeg submitter formen kommer der ikke data fra den udfyldte select med.

nogen ideer?
Avatar billede olebole Juniormester
11. august 2006 - 14:35 #1
<ole>

Så skal du nok vise den resterende kode - eller lægge et link  ;o)

/mvh
</bole>
Avatar billede bigo Nybegynder
11. august 2006 - 14:55 #2
<tr>
                                        <td>
                                            <select name=e_id onChange=\"if(this.selectedIndex < 1) {return false;} else {fill_box(this.options[this.selectedIndex].value)}\">
                                                <option value=''>Select Education
                                                ";
                                                while ($r_row = mysql_fetch_assoc($r_res))
                                                {
                                                    echo "<option value='$r_row[e_id]' ".(($r_row[e_id] == $e_id) ? "selected" : "").">$r_row[e_name]";
                                                }
                                                echo "
                                            </select>
                                        </td>
                                    </tr>
                                    <tr>
                                        <td>
                                          <select name='resource_list' onchange='if(this.selectedIndex < 1) {return false;} else {move(this.form.resource_list,this.form.r_target_list);}'>
                                           
                                            </select>
                                        </td>
                                    </tr>
                                    <tr>
                                        <td>
                                            <select multiple size=5 name=r_target_list onchange='if(this.selectedIndex < 1) {return false;} else {move(this.form.r_target_list,this.form.resource_list);}'>
                                                <option>Booked resources</option>
                                            </select>
                                        </td>
                                    </tr>
Avatar billede bigo Nybegynder
11. august 2006 - 15:38 #3
Og således ser det ud hvis jeg tager en view source hvor jeg har fået den til at placere 3 resourcer i r_target_list selecten.

                                    <tr>
                                        <td>
                                            <select name=e_id onChange="if(this.selectedIndex < 1) {return false;} else {fill_box(this.options[this.selectedIndex].value)}">
                                                <option value=''>Select Education
                                                <option value='1' selected>SSH<option value='2' >SSA<option value='3' >UUD<option value='4' >ASS
                                            </select>
                                        </td>
                                    </tr>
                                    <tr>
                                        <td>
                                          <select name='resource_list' onchange='if(this.selectedIndex < 1) {return false;} else {move(this.form.resource_list,this.form.r_target_list);}'>
                                           
                                            </select>
                                        </td>
                                    </tr>
                                    <tr>
                                        <td>
                                            <select multiple size=5 name=r_target_list onchange='if(this.selectedIndex < 1) {return false;} else {move(this.form.r_target_list,this.form.resource_list);}'>
                                                <option>Booked resources</option>
                                            </select>
                                        </td>
                                    </tr>
Avatar billede bigo Nybegynder
11. august 2006 - 15:51 #4
Suddenly I see..

Det er jo ikke med fill_box der er noget galt med.. det er dem her:

sortitems = 1;  // Automatically sort items within lists? (1 or 0)

function move(fbox,tbox)
{
    for(var i=1; i<fbox.options.length; i++)
    {
        if(fbox.options[i].selected && fbox.options[i].value != "")
        {
            var no = new Option();
            no.value = fbox.options[i].value;
            no.text = fbox.options[i].text;
            tbox.options[tbox.options.length] = no;
            fbox.options[i].value = "";
            fbox.options[i].text = "";
  }
    }
    BumpUp(fbox);
    if (sortitems) SortD(tbox);
    fbox.selectedIndex = 0;
}

function BumpUp(box) 
{
    for(var i=1; i<box.options.length; i++)
    {
        if(box.options[i].value == "") 
        {
            for(var j=i; j<box.options.length-1; j++) 
            {
                box.options[j].value = box.options[j+1].value;
                box.options[j].text = box.options[j+1].text;
            }
            var ln = i;
            break;
        }
    }
    if(ln < box.options.length) 
    {
        box.options.length -= 1;
        BumpUp(box);
  }
}

function SortD(box) 
{
    var temp_opts = new Array();
    var temp = new Object();
    for(var i=1; i<box.options.length; i++) 
    {
        temp_opts[i] = box.options[i];
    }
    for(var x=1; x<temp_opts.length-1; x++) 
    {
        for(var y=(x+1); y<temp_opts.length; y++) 
        {
            if(temp_opts[x].text > temp_opts[y].text) 
            {
                temp = temp_opts[x].text;
                temp_opts[x].text = temp_opts[y].text;
                temp_opts[y].text = temp;
                temp = temp_opts[x].value;
                temp_opts[x].value = temp_opts[y].value;
                temp_opts[y].value = temp;
        }
        }
    }
    for(var i=1; i<box.options.length; i++) 
    {
        box.options[i].value = temp_opts[i].value;
        box.options[i].text = temp_opts[i].text;
    }
}
Avatar billede bigo Nybegynder
13. august 2006 - 15:13 #5
<ole> Nogen ide?
Avatar billede bigo Nybegynder
13. august 2006 - 17:32 #6
Man skal tydeligvis sætte dem til selected inden man submitter:

function saveme(tbox)
{
    var boxLength = tbox.length;
    if (boxLength != 0)
    {
        for (i = 0; i < boxLength; i++)
        {
            tbox.options[i].selected = true;
      }
    }
}
på en
<select name='resource_list' onchange='if(this.selectedIndex < 1) {return false;} else {move(this.form.resource_list,this.form.r_target_list);saveme(this.form.r_target_list);}'>
Avatar billede bigo Nybegynder
13. august 2006 - 17:32 #7
lukker
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester