nov 24, 2022 3:51 PM
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.
¡Resuelto! Ir a solución.
nov 25, 2022 5:26 AM
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
nov 25, 2022 5:26 AM
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
nov 25, 2022 7:24 AM
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
nov 25, 2022 8:55 AM
Happy to helped 😊