CMS Development

FurqanAli
Participant

How to get data for the next and previous index in the for loop in hubl for setting conditions?

Résolue

Hi there,

I'm trying to set conditions in Hubl under for loop for the repeated fields.  You can see my code below under the script tag where I'm using different values:

<script>
function showVal(newVal){
if(newVal <= {{ module.free_slab_limit }}){
jQuery(".pricing-columns__item.featured.alternated p.pricing-columns__price").text("{{free_text.freeText}}");
jQuery(".workspace_members span").text(newVal);
}
{% for item in module.step_fields %}
else if( newVal>= {{item.step_value}} && (Here I need to use the condition for next and previous index)){
jQuery(".workspace_members span").text("{{ item.step_text }}");
}
{% endfor %}
else{
jQuery(".pricing-columns__item.featured.alternated p.pricing-columns__price").text("$" + (newVal*{{ module.per_user_cost }}));
jQuery(".workspace_members span").text(newVal);
}
}
</script>

Thanks for the help as well. 

0 Votes
1 Solution acceptée
MBERARD
Solution
Contributeur de premier rang | Partenaire solutions Elite
Contributeur de premier rang | Partenaire solutions Elite

How to get data for the next and previous index in the for loop in hubl for setting conditions?

Résolue

Hi @FurqanAli ,

is that something like so you want to perform?

<script>
    function showVal(newVal) {
        if (newVal <= {{ module.free_slab_limit }}) {
            jQuery(".pricing-columns__item.featured.alternated p.pricing-columns__price").text("{{ free_text.freeText }}");
            jQuery(".workspace_members span").text(newVal);
        }
        {% for item in module.step_fields %}
            {% if loop.first %}
                else if (newVal >= {{ item.step_value }} && ({{ module.step_fields[loop.index0 + 1].step_value }})) { // only next value
                    jQuery(".workspace_members span").text("{{ item.step_text }}");
                }
            {% elif loop.last %}
                else if (newVal >= {{ item.step_value }} && ({{ module.step_fields[loop.index0 - 1].step_value }})) { // only prev value
                    jQuery(".workspace_members span").text("{{ item.step_text }}");
                }
            {% else %}
                else if (newVal >= {{ item.step_value }} && ({{ module.step_fields[loop.index0 - 1].step_value }} && {{ module.step_fields[loop.index0 + 1].step_value }})) { // prev & next value
                    jQuery(".workspace_members span").text("{{ item.step_text }}");
                }
            {% endif %}
        {% endfor %}
        else {
            jQuery(".pricing-columns__item.featured.alternated p.pricing-columns__price").text("$" + (newVal * {{ module.per_user_cost }}));
            jQuery(".workspace_members span").text(newVal);
        }
    }
</script>

 

Kind regards,

 

Matthieu

matthieu.berard@markentive.com

Voir la solution dans l'envoi d'origine

3 Réponses
MBERARD
Solution
Contributeur de premier rang | Partenaire solutions Elite
Contributeur de premier rang | Partenaire solutions Elite

How to get data for the next and previous index in the for loop in hubl for setting conditions?

Résolue

Hi @FurqanAli ,

is that something like so you want to perform?

<script>
    function showVal(newVal) {
        if (newVal <= {{ module.free_slab_limit }}) {
            jQuery(".pricing-columns__item.featured.alternated p.pricing-columns__price").text("{{ free_text.freeText }}");
            jQuery(".workspace_members span").text(newVal);
        }
        {% for item in module.step_fields %}
            {% if loop.first %}
                else if (newVal >= {{ item.step_value }} && ({{ module.step_fields[loop.index0 + 1].step_value }})) { // only next value
                    jQuery(".workspace_members span").text("{{ item.step_text }}");
                }
            {% elif loop.last %}
                else if (newVal >= {{ item.step_value }} && ({{ module.step_fields[loop.index0 - 1].step_value }})) { // only prev value
                    jQuery(".workspace_members span").text("{{ item.step_text }}");
                }
            {% else %}
                else if (newVal >= {{ item.step_value }} && ({{ module.step_fields[loop.index0 - 1].step_value }} && {{ module.step_fields[loop.index0 + 1].step_value }})) { // prev & next value
                    jQuery(".workspace_members span").text("{{ item.step_text }}");
                }
            {% endif %}
        {% endfor %}
        else {
            jQuery(".pricing-columns__item.featured.alternated p.pricing-columns__price").text("$" + (newVal * {{ module.per_user_cost }}));
            jQuery(".workspace_members span").text(newVal);
        }
    }
</script>

 

Kind regards,

 

Matthieu

matthieu.berard@markentive.com

FurqanAli
Participant

How to get data for the next and previous index in the for loop in hubl for setting conditions?

Résolue

Thanks for clarifying many things in your code related to indexes and setting conditions under the loop; this is something I was looking for. @MBERARD 

0 Votes
MBERARD
Contributeur de premier rang | Partenaire solutions Elite
Contributeur de premier rang | Partenaire solutions Elite

How to get data for the next and previous index in the for loop in hubl for setting conditions?

Résolue

Happy to helped 😊

0 Votes