2017-08-30 4 views
0

Im pas très familier avec ajax et javascript, mais j'ai besoin d'aide, donc je vais essayer d'expliquer aussi clairement que possible!obtenir des données de div dans ajax requête

je le bouton ci-dessous avec ce javascript:

$('#button-confirm').on('click', function() { 
$.ajax({ 
    type: 'get', 
    url: 'index.php?route=payment/leasing_plans/confirm', 
    cache: false, 
data:{ 
    egn:$('#input-payment-egn').val(), 
    months: $('input[name=months]:checked').val() 
}, 
    beforeSend: function() { 
     $('#button-confirm').button('loading'); 
    }, 
    complete: function() { 
     $('#button-confirm').button('reset'); 
    }, 
    success: function() { 
     location = '<?php echo $continue; ?>'; 
    } 
}); 

je les boutons radio suivants:

<td><div class="radio"> 
         <label><input type="radio" name="months" value="tbi3" />3 месеца x </label> 
        </div></td> 
        <td><div class="radio"> 
         <label><input type="radio" name="months" value="uni3" />3 месеца x </label> 
        </div></td> 
       </tr> 
       <tr> 
        <td><div class="radio"> 
         <label><input type="radio" name="months" value="tbi6" />6 месеца x </label> 
        </div></td> 
        <td><div class="radio"> 
         <label><input type="radio" name="months" value="uni6" />6 месеца x </label> 
        </div></td> 
       </tr> 
       <tr> 
        <td><div class="radio"> 
         <label><input type="radio" name="months" value="tbi9" />9 месеца x </label> 
        </div></td> 
        <td><div class="radio"> 
         <label><input type="radio" name="months" value="uni9" />9 месеца x </label> 
        </div></td> 
       </tr> 

J'ai aussi les divs suivants avec les mêmes id`s comme valeurs de boutons radio :

<div id="tbi3" class="leasecond"> 
    <input type="text" style="border: none;" readonly />Разсрочено плащане с TBI, вноски 3 30.36% <br> 
    <p>Прочетох</p> 
</div> 
<div id="uni3" class="leasecond"> 
    <input type="text" style="border: none;" readonly />Разсрочено плащане с UNI Credit, вноски 3 30.36% <br> 
    <p>Правилата</p> 
</div> 

<div id="tbi6" class="leasecond"> 
    <input type="text" style="border: none;" readonly />Разсрочено плащане с TBI, вноски 6 34.49% <br> 
    <p>Прочетох и</p> 
</div> 
<div id="uni6" class="leasecond"> 
    <input type="text" style="border: none;" readonly /> Разсрочено плащане с UNI Credit, вноски 6 x 34.49% <br> 
    <p>Правилата за ползване</p> 
</div> 

MAIS le problème est que je ne reçois que la valeur dusélectionné, je veux obtenir l'information dans le div qui est avec le même id que le nom radio button sélectionné. Merci à tous, je vais mettre à jour ma question si je ne comprends pas!

Répondre

1

J'ai fait 2 changements. Les données que vous envoyez pendant des mois seulement obtient la valeur de la case à cocher, qui est l'ID de la div contenant les données. J'ai donc fait une variable pour contenir cet id, puis dans la section de données utilisée jquery pour obtenir la div avec cet id, puis saisir le texte de l'entrée à l'intérieur de la div.

$('#button-confirm').on('click', function() { 
    //add this line: 
    var cbval = $('input[name=months]:checked').val(); 
    $.ajax({ 
    type: 'post', 
    url: 'index.php?route=payment/leasing_plans/confirm', 
    cache: false, 
    data: { 
     egn: $('#input-payment-egn').val(), 
     //change this line to: 
     months: $('#' + cbval).text() 
    }, 
    beforeSend: function() { 
     $('#button-confirm').button('loading'); 
    }, 
    complete: function() { 
     $('#button-confirm').button('reset'); 
    }, 
    success: function() { 
     location = '<?php echo $continue; ?>'; 
    } 
}); 
+0

rien ne se passe ici ... je ne reçois aucune donnée –

+0

whoops, je suppose que le texte n'est pas dans le champ de saisie. Essayez maintenant. – lancew

+0

nnnope ... je ne reçois aucune donnée –

0

Une solution assez simple serait de maintenir la valeur de radio sélectionnée dans une variable avant de poster (avant la commande $.ajax):

var selectedReadio = $('input[name=months]:checked').val(); 

Et vous pouvez alors utiliser cette valeur pour obtenir la div avec le même ID de texte:

var divCorresponding = $('#' + selectedReadio).text(); 

dans votre question, vous avez parlé d'obtenir « l'information » de DIV correspondant , qui est pour ma compréhension, le texte, donc je .text() dans le exa mple ci-dessus, mais vous pouvez obtenir l'une de ses propriétés de cette façon.

+0

oui c'est seulement le texte! :) merci, je vais l'essayer! :) –

+0

@ ДобромирМилчев Super. Dites-moi comment ça se passe. –

+0

okay la première ligne que je dois mettre avant la commande '$ .ajax', mais le second? –