IT rekvalifikace s garancí práce. Seniorní programátoři vydělávají až 160 000 Kč/měsíc a rekvalifikace je prvním krokem. Zjisti, jak na to!
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

Diskuze: Zpracování select multiple

Aktivity
Avatar
MK
Neregistrovaný
Avatar
MK:6.1.2014 23:00

Ahoj,

pokouším se zpracovat formulář, kde mám select, nastavený jako multiple... ale mám problém, že bych chtěl aby byly prvky v poli v pořadí, jak si je uživatel nakliká... Teď jsou v pořadí, jak jsou vypsány v tom seznamu a to se mi nehodí... Je možné to nějak zařídit?

MK

 
Odpovědět
6.1.2014 23:00
Avatar
solta
Člen
Avatar
solta:7.1.2014 0:27

Jestli tě dobře chápu tak myslím že jedinou možností bude pomoci javascriptu ukládat tyto podnoty do jiného inputu v tom pořadí v jakém je uživatel naklikal a potom si to rozparsovat

 
Nahoru Odpovědět
7.1.2014 0:27
Avatar
Honza Bittner
Tvůrce
Avatar
Honza Bittner:7.1.2014 0:53

Možná by ti mohlo pomoc http://jqueryui.com/sortable/

Nahoru Odpovědět
7.1.2014 0:53
FIT ČVUT alumnus :-) Sleduj mě na https://twitter.com/tenhobi a ptej se na cokoli na https://github.com/tenhobi/ama.
Avatar
MK
Neregistrovaný
Avatar
Odpovídá na Honza Bittner
MK:7.1.2014 1:37

Ten sortable mi bude asi k ničemu. Já do jednotlivých optionů toho selectu vypíšu nějaké data z DB, uživatel si něco vybere a ten výběr chci zpracovat a vepsat do další tabulky, ale musí to být v pořadí, ve kterém bylo vybráno...

 
Nahoru Odpovědět
7.1.2014 1:37
Avatar
solta
Člen
Avatar
solta:7.1.2014 4:54

dokonalé to rozhodně není a jistě někdo příjde s lepším řešením

//jQuery
$(document).ready(function(){
        var poradiArray = new Array();

        $('.checkbox').click( function(){
                check=false;
                val=$(this).val();
                for(i = 0; i < poradiArray.length; i++){
                        if(poradiArray[i] == val){
                                if(i==0)
                                        poradiArray.splice(i,i+1);
                                else
                                        poradiArray.splice(i,i);
                                check=true;
                        }
                }
                if(!check)poradiArray.push(val);
                $('input[name=poradi1]').val(JSON.stringify(poradiArray));
                $('input[name=poradi2]').val(poradiArray.toString());

        })
})

//php
<?php
$data = json_decode($_GET['poradi1']);
print_r($data);
echo "<br />";
$data = explode(',',$_GET['poradi2']);
print_r($data);
?>

//html
    <label>
      <input type="checkbox" name="Checkbox_0" value="0" class="checkbox" />
      Zaškrtávací pole 0</label><br />
    <label>
      <input type="checkbox" name="checkbox_1" value="1" class="checkbox" />
      Zaškrtávací pole 1</label>
    <br />
    <label>
      <input type="checkbox" name="Checkbox_2" value="2" class="checkbox" />
      Zaškrtávací pole 2</label>
    <br />
    <label>
      <input type="checkbox" name="Checkbox_3" value="3" class="checkbox" />
      Zaškrtávací pole 3</label>
    <br /><br />
<input name="poradi1" type="text" />
<input name="poradi2" type="text" />
  <br />
<br />
<input name="" type="submit" />
 
Nahoru Odpovědět
7.1.2014 4:54
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 5 zpráv z 5.