Câmpul de intrare dinamic de imprimare și butoanele radio pe schimbare

Problemă: Aș dori să solicit asistență cum puteți include câmpurile de introducere și butoanele radio, în funcție de alegerea anterioară pe care o faceți pentru butoanele radio.

Codul jQuery:

<script src="./js/jquery-1.7.2.min.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function()
    {
        $("input[name='authors']").change(function()
        {
            if(this.checked) 
            {
                if(this.value == 1) 
                {
                    $("#choice-1").show();
                    $("#choice-2").hide();
                }
                else if (this.value == 2)
                {
                    $("#choice-2").show();
                    $("#choice-1").hide();
                }
            }
        }
    });
</script>

Cod HTML:

 


<div id="choice-1" style="display: none;">

    

    
    

</div>

<div id="choice-2" style="display: none;">

    
     
    

    
     
    

</div>

Funcția dorită: Dacă fac clic pe butonul radio 1 Autor, atunci ar trebui să fie generat un câmp de text de intrare cu un titlu numit "Nume autor" și 2 butoane radio (bărbat/femeie) cu titlul "Sex". Abordarea similară este valabilă pentru 2 autori (vedeți comentariile din cod).

Mulțumesc anticipat!

0
Am adăugat o explicație pentru funcția dorită. Pur și simplu vreau să generez 1 sau 2 câmpuri de text de intrare și 2 sau 4 butoane radio în funcție de alegerea pe care utilizatorul o face.
adăugat autor kexxcream, sursa
@ gdoron Respiră adânc, sunt mai mult decât dispus să arăt efort, dar întreaga idee cu acest forum și această întrebare este de a obține ajutor atunci când ați încercat totul. Nu trebuie să pierdeți timp pentru asta dacă simțiți că nu depun nici un efort. Nimeni nu te-a forțat aici.
adăugat autor kexxcream, sursa
Voi pur și simplu doriți ca noi să vă facem lucrarea, fără a vă depune vreun efort de a face asta pe cont propriu!
adăugat autor gdoron, sursa
Unde intenționați să obțineți informațiile despre autor? Baza de date, html extern sau xml care unul?
adăugat autor Mark Adesina, sursa
unde este HTML cu câmpurile de intrare, postați-le. Generă dinamic?
adăugat autor thecodeparadox, sursa

3 răspunsuri

$("input[name='authors']").change(function() {

    $('div[id^=choice]').hide();
    $('div#choice-' + this.value).show();

});

DEMO

0
adăugat
Apreciez foarte mult codul și timpul acordat pentru a mă ajuta să rezolv problema. Dar trebuie să fiu cinstit și să recunosc în mod deschis că nu sunt la un anumit nivel în care să vă înțeleg codul. Am actualizat jQuery și codul HTML pentru a speria că va fi mai clar ce caut.
adăugat autor kexxcream, sursa
@ thecodeparadox funcționează ca și magic * hat off *!
adăugat autor kexxcream, sursa
this.checked este întotdeauna adevărat în evenimentul change cu butoanele radio , testați-l.
adăugat autor gdoron, sursa
@kexxcream verificați actualizarea mea
adăugat autor thecodeparadox, sursa

Ai putea să le pui în html și să le înveți în divs ascunse.

<div id="choice-1" style="display: none>
   <!--your inputs for first choice -->
</div>


<div id="choice-2" style="display: none>
   <!--your inputs for second choice -->
</div>

if ($("input[name='authors']:checked").val() == '1') {
   $("#choice-1").show();
   $("#choice-2").hide();
} else if ($("input[name='authors']:checked").val() == '2') {
   $("#choice-2").show();
   $("#choice-1").hide();
}
0
adăugat
Am actualizat codul principal, dar nu reușesc să funcționeze.
adăugat autor kexxcream, sursa

Dacă vrei să spui că vrei să adaugi dinamic câmpul de introducere și butoanele de radio cum ar fi:

var input = $('<input type="text">'),
    radio = $('<input type="radio">'),
    label = $('
0
adăugat