cancel
Showing results for 
Search instead for 
Did you mean: 

Radio botton

SOLVED

Radio botton

Nel mio modulo di pagamento personalizzato, ho inserito alcuni radio bottons.
Però, quando provo a cliccarci, questi sono disabilitati. Come si attivano?


Ecco il codice:

 

<?php$question = Mage::getModel('emme_question/question')->getCollection()->getLastItem();
$answers = $question->getSelectedAnswersCollection();
?>
<h4><?php echo $this->escapeHtml($question->getValue()); ?></h4>
<ul>
<?php foreach ($answers as $answer): ?>
<li>
<label><?php echo $this->escapeHtml($answer->getValue()) ?></label>
<input type="radio" name="my_custom_answer" value="<?php echo $answer->getId() ?>" required>
</li>
<?php endforeach ?>

 

3 REPLIES

Re: Radio botton

Ciao, ad un'occhiata rapida non mi pare che ci sia nulla nel tuo codice che disabiliti le opzioni, quindi penso che la disabilitazione venga fatta da qualche javascript nella pagina. 

 

Se vuoi un suggerimento però evita di inserire della logica nel template perché è una pessima pratica. Di solito il caricamento di una collezione è bene che sia gestito a livello di blocco per mantenere un'indipendenza del phtml.

Paolo Vecchiocattivi -- http://www.magespecialist.it
// Converting code to business

Re: Radio botton

Ciao pvecchio, ti ringrazio in anticipo per la risposta e i consigli.
Non ho ben capito:

  • Come posso verificare che la disabilitazione venga fatta da qualche javascript nella pagina?
  • Mi hai consigliato di evitare di inserire della logica nel template perché è una pessima pratica. Cosa intendi?

Ti ringrazio ancora per l'aiuto e per la pazienza.
Grazie.

Re: Radio botton

Ho risolto

<?php
$question = Mage::getModel('emme_question/question')->getCollection()->getLastItem();
$answers = $question->getSelectedAnswersCollection();
?>
<div id="custompaymentmethod-question">
    <h4><?php echo $this->escapeHtml($question->getValue()); ?></h4>
    <ul>
    <?php foreach ($answers as $answer): ?>
    <li>
    <label><?php echo $this->escapeHtml($answer->getValue()) ?></label>
    <input type="radio" name="my_custom_answer" value="<?php echo $answer->getId() ?>" required>
    </li>
    <?php endforeach ?>
</div>
<script>
jQuery(function ($) {
  $('#co-payment-form').on('change.mm', function () {
    var is_question_active = ! $('#p_method_custompaymentmethod').is(':checked');
    $('#custompaymentmethod-question input').attr('disabled', is_question_active);
  })
})
</script>