Задать вопрос
@Andrey_87

Как сделать чтобы сработала функция после загрузки на первый select?

Здравствуйте, знатоки )) Вопрос. Сделал функцию которая срабатывает при смене селекта, но вот сразу после загрузки страницы у меня должно быть уже выбран первый селект и он таковым и является. Но вот функция срабатывает только при смене его. И не как не могу понять как сделать чтобы он сработал сразу.

вот код
$(document).ready(function () {
      //Пробовал просто вызвать функцию myfunc(); (не работает)
	$('#calc_id').(myfunc);
    $('#calc_id').change(myfunc);
    function myfunc(){
        var calc_id = $('#calc_id').val();  
	
		$('.option_op').remove();
        $('#option_id').attr('disabled', true);
        $('#option_id').html('<option>загрузка...</option>');
		
		$.ajax({
			url: 'index.php?route=module/featured/write',
			type: 'post',
			dataType: 'json',
			data: 'calc_id='+calc_id,			
			success: function (data) {
			
				var obj = eval(data);
				 
               
				var i = 0;
				var s = 0;
				
				  var options = '';
				  	if (obj.options[0] == undefined) {
					options += '<option class="option_op">Размеров нет</option>';
					
				} else {
				  $(obj.options).each(function(index) {
					
					if (obj.options[index].type == 'select') {
					$(obj.options[index].product_option_value).each(function(index) {
					
                   options += '<option class="option_op" value="'+ obj.options[i].product_option_value[index].product_option_value_id  +'" price_prefix="'+ obj.options[i].product_option_value[index].price_prefix +'" price="' + (obj.options[i].product_option_value[index].price != false ? obj.options[i].product_option_value[index].price : '0.0000') + '" >' + obj.options[i].product_option_value[index].name +''+  (obj.options[i].product_option_value[index].price != false ?  obj.options[i].product_option_value[index].price_prefix +' '+ obj.options[i].product_option_value[index].price  : '') + '</option>';
					
					s = 1;
                    });
					$('#option_id').attr('disabled', false);
					$('#option_id').attr('name','option['+obj.options[index].product_option_id+']');
					$('.option').attr('id','option-'+obj.options[index].product_option_id);
                    } else {
					if (s == 0) {
					options += '<option class="option_op">Размеров нет</option>';
					
					} 
					
					}	
					i++;
					
                    });	
						}
						$('#option_id').html(options);
						$('#option_id').attr('onchange','recalc('+calc_id+');');
						$('#calc_id').attr('onchange','recalc('+calc_id+');');
						$('.calc_chen').attr('id','option_'+calc_id );
						
						$('#chang_price').attr('class','price_'+calc_id );
						$('#chang_price').attr('price',obj.products.price_no_format);
						$('#chang_price').html(obj.products.price);
						
						$('#chang_special').attr('class','special_'+calc_id );
						$('#chang_special').attr('price',obj.products.special_no_format);
						$('#chang_special').html(obj.products.special);
						
						
						$('.quantity_div .minus').attr('onclick',"quantity_control('"+calc_id+"', '1', '1000000', '-')");
						$('.quantity_div .plus').attr('onclick',"quantity_control('"+calc_id+"', '1', '1000000', '+')");
						$('.quantity_div input').attr('id','quantity-'+calc_id);
						$('.quantity_div input').attr('data-id',calc_id);
						$('.quantity_div input').attr('class','quantity_input p_q_'+calc_id);
						
						$('.cart button').attr('onclick',"cart.add('"+calc_id+"', $(this).parent().parent().find('.quantity_input').val());");
						
						
						
						
			}
		});
		
    }
});
  • Вопрос задан
  • 127 просмотров
Подписаться 1 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 2
@AlexRas
Возможно так
$('#calc_id option').eq(0).prop("selected", true);
$('#calc_id').trigger("change");

Или
$('#calc_id option').eq(0).prop("selected", true);
myfunc();
Ответ написан
Комментировать
xmoonlight
@xmoonlight
https://sitecoder.blogspot.com
Сгенерите событие onchange для нужного элемента.
$('#calc_id').trigger("change");
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы
Rocket Смоленск
от 80 000 до 130 000 ₽
div. Ставрополь
от 40 000 до 90 000 ₽
Wanted. Санкт-Петербург
До 220 000 ₽
19 дек. 2024, в 02:11
15000 руб./за проект
19 дек. 2024, в 02:09
11000 руб./за проект
19 дек. 2024, в 00:46
30000 руб./за проект