Обычные связанные списки через jquery chained (от
https://github.com/tuupola/jquery_chained).
Через ACF подтягиваю содержимое из полей повторителей - и ничего не работает (я имею в виду, что динамически созданное содержимое и значения селектов без jquery chained выводятся отлично, но стоит подключить скрипт, тупо пропадает большая часть option).
<select id="material" name="material">
<?php if( have_rows('materials_general') ): ?>
<?php while( have_rows('materials_general') ): the_row();
$materials_name = get_sub_field('materials_name');?>
<option value="<?php echo $materials_name; ?>"><?php echo $materials_name; ?></option>
<?php endwhile; ?>
<?php endif; ?>
</select>
<select id="color" name="color">
<?php if( have_rows('materials_general') ): ?>
<?php while( have_rows('materials_general') ): the_row();
$materials_name = get_sub_field('materials_name');?>
<?php if( have_rows('color_materials') ): ?>
<?php while( have_rows('color_materials') ): the_row();
$color_name = get_sub_field('color_name');?>
<option value="<?php echo $color_name; ?>" data-chained="<?php echo $materials_name; ?>"><?php echo $color_name; ?></option>
<?php endwhile; ?>
<?php endif; ?>
<?php endwhile; ?>
<?php endif; ?>
</select>
<select id="printing" name="printing">
<?php if( have_rows('materials_general') ): ?>
<?php while( have_rows('materials_general') ): the_row();
$materials_name = get_sub_field('materials_name');?>
<?php if( have_rows('printing_materials') ): ?>
<?php while( have_rows('printing_materials') ): the_row();
$printing_name = get_sub_field('printing_name');
$printing_cost = get_sub_field('printing_cost');
?>
<option value="<?php echo $printing_cost; ?>" data-chained="<?php echo $materials_name; ?>"><?php echo $printing_name; ?></option>
<?php endwhile; ?>
<?php endif; ?>
<?php endwhile; ?>
<?php endif; ?>
</select>
<script>
jQuery(function ($) {
$(function () {
$("#color").chainedTo("#material");
$("#printing").chainedTo("#material");
});});
</script>
Хотя, что самое интересное, если список не динамически созданный, то все работает
<select id="material" name="material">
<option value="CAMBRIC-PROVENCE">CAMBRIC-PROVENCE</option>
<option value="Cervo">Cervo</option>
</select>
<select id="color" name="color">
<option value="s3" data-chained="CAMBRIC-PROVENCE">Красный</option>
<option value="s5" data-chained="CAMBRIC-PROVENCE">Зеленый</option>
<option value="series-6" data-chained="CAMBRIC-PROVENCE">Черный</option>
<option value="a3" data-chained="Cervo">Голубой</option>
<option value="a4" data-chained="Cervo">Розовый</option>
<option value="a5" data-chained="Cervo">Золотой</option>
</select>
<select id="printing" name="printing">
<option value="190" data-chained="CAMBRIC-PROVENCE">от 1 до 300</option>
<option value="150" data-chained="CAMBRIC-PROVENCE">от 301 до 5000</option>
<option value="190" data-chained="Cervo">от 1 до 300</option>
<option value="150" data-chained="Cervo">от 301 до 5000</option>
</select>
В чем может быть причина?