Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 14.02.2016, 20:50
Новичок на форуме
Отправить личное сообщение для Surprise Посмотреть профиль Найти все сообщения от Surprise
 
Регистрация: 14.02.2016
Сообщений: 1

Изменить вид отображения на список!
Это код блока, отображается в виде чекбокса, при выборе одного из значений которое передается через $job_type срабатывает js и происходит поиск. Мне необходимо заменить вид отображения с чекбокса на выпадающий список, чтобы при выборе варианта из списка также срабатывал js.
<?php 
											global $redux_demo; 
											for ($i = 0; $i < count($redux_demo['job-type']); $i++) {
										?>
											
										<li class="filters-list-one <?php if($job_type == $redux_demo['job-type'][$i] ) { ?>active<?php } ?>">
											<i id="job-type[<?php echo $i; ?>]" class="fa fa-square-o"></i><i class="fa fa-check-square"></i><?php echo $redux_demo['job-type'][$i]; ?>
											<input type="hidden" class="job_presence_type_option_value" name="job_presence_type_value[<?php echo $i; ?>]" value="<?php echo $redux_demo['job-type'][$i]; ?>" />
											<input type="hidden" class="job_presence_type_option" name="job_presence_type[<?php echo $i; ?>]" value="<?php if($job_type == $redux_demo['job-type'][$i] ) { echo $redux_demo['job-type'][$i]; } ?>" />
										</li>

										<?php 
											}
										?>


Вот кусок кода Js, который отвечает за срабатывание поиска после выбора варианта.
jQuery(document).on("click","ul.filters-lists li.filters-list-one",function(e){

                                jQuery('#companies_current_page').val('1');
                                 if (jQuery(this).hasClass('active')) {

                                    jQuery(this).removeClass('active');
                                    jQuery(this).find('.job_presence_type_option').val('');

                                    $.fn.wpjobusSubmitFormFunction();
                                    $.fn.wpjobusSubmitFormMapFunction();

                                    e.preventDefault();
                                    return false;

                                } else {

                                       jQuery(this).addClass('active');
                                       var id = jQuery(this).find('.job_presence_type_option_value').val();
                                       jQuery(this).find('.job_presence_type_option').val(id);
                                       jQuery(this).parent().find('.filters-list-all').removeClass('active');
                                       jQuery(this).parent().find('.filters-list-all .job_presence_type_option').val('');

                                       $.fn.wpjobusSubmitFormFunction();
                                       $.fn.wpjobusSubmitFormMapFunction();

                                       e.preventDefault();
                                    return false;

                               }

                            });

                            jQuery(document).on("click","ul.filters-lists li.filters-list-all",function(e){

                                 if (jQuery(this).hasClass('active')) {
                                    jQuery(this).removeClass('active');
                                    jQuery(this).find('.job_presence_type_option').val('');
                                } else {

                                    jQuery('#companies_current_page').val('1');

                                       jQuery(this).addClass('active');
                                       jQuery(this).find('.job_presence_type_option').val('1');
                                       jQuery(this).parent().find('.filters-list-one').removeClass('active');
                                       jQuery(this).parent().find('.filters-list-one .job_presence_type_option').val('');

                                       $.fn.wpjobusSubmitFormFunction();
                                       $.fn.wpjobusSubmitFormMapFunction();

                                       e.preventDefault();
                                    return false;

                                }
                            });


Буду рад любой помощи!
Ответить с цитированием
  #2 (permalink)  
Старый 15.02.2016, 16:18
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Натуеверчено, когда можно было костомизировать обычный checkbox...
Это что функция, почему global $redux_demo;?

Заменить на список конечно можно, вот только что? В каждой итерации формируется два скрытых поля, каждое со своим именем и значением, и что в списке должен отождествлять каждый из каждой пары, что за тех в опциях быть должен?

Сообщение от Surprise
заменить вид отображения с чекбокса на выпадающий список, чтобы при выборе варианта из списка также срабатывал js
А что именно должно происходить? В данном коде большая его часть, это похоже "рисовать флажок" или что-от связанное с выбором. Что-то связанное с отправкой формы есть, правда e.preventDefault(); и return false; не понятно для чего... Тайна покрытая мраком.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Можно изменить масштаб отображения в опере? portalpp Javascript под браузер 2 19.08.2015 14:55
Двойной динамический список. oneplus Элементы интерфейса 17 14.08.2015 22:42
Изменить список средствами jQuery skillful jQuery 5 22.09.2014 14:13
Изменить внешний вид закладки браузера яваскриптом beard Общие вопросы Javascript 4 26.06.2012 20:15
Заполнить список значениями из динамически созданного выпадающего списка zhuzha Элементы интерфейса 0 17.08.2010 14:40