@1RONMAN

Как заставить обновляться стилизованный select?

Здравствуйте!
Подскажите, пожалуйста, мне глупому как решить проблему - пытаюсь стилизовать select'ы, последующий из которых становится активен и наполняется данными после того как сделан выбор в предыдущем. Использую JQuery Form Styler с сайта dimox.

Проблема: стилизованный select остаётся неактивен и не обновляется. Пробовал задать задержку стилизации - если успеваю сделать выбор в первом select'е - второй обновляется, после стилизуется и всё работает. Но если после этого поменять значение в первом select'е - на втором это уже не отразится.

Также пробовал добавлять .trigger('refresh'); но толи я неправильно это делаю, толи не помогает. :(

Короче, код:
<form id="ymm-form" action="index.php?route=module/ymmfilter/setymm" method="POST">
	  <div class="ymm-make">
//первый select, в нём выбирается марка автомобиля
	  	<!-- <label for="make"><?php echo $text_make; ?></label> --!>
		<select name="make" id="ymmmake">
			<option value=""><?php echo $text_please_select_make; ?></option>
			<?php foreach ($makes as $make) { ?>
			<option value="<?php echo $make['id']; ?>"><?php echo $make['make']; ?></option>
			<?php } ?>
			<script>
				(function($) {
					$(function() {
						$('#ymmmake').styler();
						$('#ymmmake',select).trigger('#ymmmodel','refresh');
						});
					})(jQuery);
			</script>
		</select>
	  </div>
	  <?php if($this->config->get('ymmfilter_model')) { ?>
	  <div class="ymm-model">
//второй select, в нём должны подгрузиться модели, соответствующие марке, но этого не происходит если он уже стилизован
	  	<!-- <label for="model"><?php echo $text_model; ?></label> --!>
		<select id="ymmmodel" name="model" disabled="disabled">
			<option value=""><?php echo $text_please_select_model; ?></option>
			<script>
			(function($) {
				setTimeout(function() { 
						$('#ymmmodel').styler(); 
						}, 3500)
					})(jQuery);
			</script>		
			</select>
	  </div>


В свою очередь этот кусок кода (он идёт чуть дальше того что сверху) штатно обновляет значение второго select'a и делает его активным:

<script type="text/javascript"><!--
	$('#ymmmake').change(function(){
		$.post('index.php?route=module/ymmfilter/getmodel',
			{ make_id : $('#ymmmake').val() },
			function(data) {
				$('#ymmmodel').html(data);
			}
		);
		$('#ymmmodel').prop('disabled', false);
		$('#ymmyear').prop('disabled', true);
		<?php if (strcmp(VERSION,'1.5.2') < 0) { ?>
		$('.ymm-submit a').removeClass("button-disabled").addClass("ymm-button");
		<?php } else { ?>
		$('.ymm-submit a').removeClass("button-disabled-53").addClass("ymm-button");
		<?php } ?>
	});


Буду очень благодарен за советы, если есть альтернативные модули стилизации которые будут работать лучше - буду рад советам и на эту тему.

Апдэйт:
Апдэйт
Изменил код вот так:
<form id="ymm-form" action="index.php?route=module/ymmfilter/setymm" method="POST">
    <div class="ymm-make">
    	<!-- <label for="make"><?php echo $text_make; ?></label> --!>
    <select name="make" id="ymmmake">
      <option value=""><?php echo $text_please_select_make; ?></option>
      <?php foreach ($makes as $make) { ?>
      <option value="<?php echo $make['id']; ?>"><?php echo $make['make']; ?></option>
      <?php } ?>
      <script>
        (function($) {
          $(function() {
            $('#ymmmake').styler();
            $('#ymmmake').change(function(){
            $('#ymmmodel').trigger('refresh');
            });
          });
          })(jQuery);
      </script>
    </select>
    </div>
    <?php if($this->config->get('ymmfilter_model')) { ?>
    <div class="ymm-model">
    	<!-- <label for="model"><?php echo $text_model; ?></label> --!>
    <select id="ymmmodel" name="model" disabled="disabled">
      <option value=""><?php echo $text_please_select_model; ?></option>
      <script>
      (function($) {
        setTimeout(function() { 
            $('#ymmmodel').styler(); 
            }, 3500)
          })(jQuery);
      </script>		
      </select>
    </div>

Добился того чтобы второй select становился активным, но при этом он пуст. :(
  • Вопрос задан
  • 720 просмотров
Пригласить эксперта
Ответы на вопрос 1
SowingSadness
@SowingSadness
web-разработчик
Говнокод. Говнокод никогда не меняется.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы