Avatar billede dk-coders Nybegynder
15. februar 2014 - 12:39 Der er 1 kommentar og
1 løsning

Tilføj ekstra dropdown, ændre til textbox, slette enkeltvis med Ajax

Hej,

Forsøger at udvikle en kode, som kan clone en DIV, hvori der som standard er en dropdown. Man skal så enkeltvis kunne ændre dropdown til textbox ved valg, uden at ændre andre cloner. Sidst skal det være muligt at fortryde enkeltvis ved en sletning.

Jeg har følgende kode:

<style>
    .text {
        display:none;
    }
</style>

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
<script type="text/javascript">

    $(document).ready(function() {
        $('.select').live('change',function(){
            if($(this).val() == "") {
            // Ændre fra DropDown til TextBox

            }
        });

        $('.cancel').click(function() {
            // Ændre fra TextBox til DropDown (annullering)

        });

        $('.clone').click(function() {
            // Kopier box-DIV

        });

    });

</script>

<form>

    <div class="box">
        <select name="inputtext[]" class="select">
            <option value="0"></option>
            <option value="">Egen tekst</option>
            <option value="1">Bil</option>
            <option value="2">MC</option>
            <option value="3">Knallert</option>
        </select>
        <div class="text"><input type="text" name="inputtext[]" value=""><span class="cancel">Annuler</span></div>
    </div>

    <input type="button" value="Tilføj" class="clone">

</form>


Kan nogen hjælpe mig videre?

God lørdag.
Avatar billede HBP2 Praktikant
16. februar 2014 - 19:13 #1
Der er jo en jQuery funktion som hedder clone() - den gør alt det med at klone et element.

Hvad angår at skifte mellem <select> og <input>, kan du ikke bare gemme det element du ikke skal bruge, og vise det andet? Giv dem evt  hver deres klasse. Så skal du bare sørge for at tage fat i submit eventen for formen, og så sørge for kun at medtage de synlige elmenter:

  $('form').submit(function() {
    var args = $('form input:visible').serialize();
    $.get('somescript.php', args, function() {
      alert('it fucking worked!');
    });
    return false;
  });

Ovenstående er ikke afprøvet...
Avatar billede dk-coders Nybegynder
01. maj 2014 - 07:30 #2
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