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 ?>
Solved! Go to Solution.
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>
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.
Ciao pvecchio, ti ringrazio in anticipo per la risposta e i consigli.
Non ho ben capito:
Ti ringrazio ancora per l'aiuto e per la pazienza.
Grazie.
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>