Показать сообщение отдельно
  #1 (permalink)  
Старый 10.12.2017, 14:08
Профессор
Отправить личное сообщение для DDim1000 Посмотреть профиль Найти все сообщения от DDim1000
 
Регистрация: 20.10.2016
Сообщений: 223

select как сохранить зависимые списки и выбранные пункты списков при перезагрузки ст.
Здравствуйте!
Подскажите пожалуйста, как сохранить зависимые списки select и выбранные пункты списков при перезагрузки страницы? Может как-то можно оптимизировать код?

<select name="form_type" id="type_tov" size="1" onchange="select_size(); select_material();" disabled="disabled" class="not_active">
                    <option>--</option>
               </select>
          
               <label>Размер товара</label>
               <select name="form_size" id="size_tov" size="1" disabled="disabled" class="not_active">
                    <option>--</option>
               </select>

               <label>Материал продукта</label>
               <select name="form_material" id="material_list" size="1" disabled="disabled" class="not_active">
                    <option>--</option>
               </select>

function select_tyoe(){		 
           var name_cat = $("#cat").val();
		   var type_list = document.getElementById('type_tov');	
		   var typeListLen = type_list.length;
		   var size_list = document.getElementById('size_tov');
		   var sizeListLen = size_list.length;	
		   var listMaterial = document.getElementById("material_list");
		   var listMaterialLen = listMaterial.length;
	    
		   if(name_cat != ''){	
			   $.ajax({			
	              url: "https://localhost/shop/admin/blocks/add_select_type_product.php",type: "POST",
			      data: "cat="+name_cat,
      	          dataType: "html", 
		          cache: false,
          	      success: function(data){
					  if(sizeListLen > 1){
			                 $('#size_tov').find('option').remove();/*удаление старых данных*/
				             $('<option value="">--</option>').fadeIn(300).appendTo('#size_tov');				  
			           }				
					  if(listMaterialLen > 1){
			                 $('#material_list').find('option').remove();/*удаление старых данных*/
				             $('<option value="">--</option>').fadeIn(300).appendTo('#material_list');				  
			           }
					   $('#type_tov').find('option').remove();/*удаление старых данных*/
				       $(data).fadeIn(300).appendTo('#type_tov'); 
					   type_list.size=type_list.length;	
					   type_list.classList.remove("not_active");
					   type_list.disabled=false;
    			   }
	      	   });			 
		   }else{ 
		    
			  if(typeListLen > 1){
			       $('#type_tov').find('option').remove();/*удаление старых данных*/
				   $('<option value="">--</option>').fadeIn(300).appendTo('#type_tov');
				   type_list.size=1;
				   type_list.classList.add("not_active");
				   type_list.disabled="disabled";				   
			  }
			  if(sizeListLen >= 1){  	
			       $('#size_tov').find('option').remove();/*удаление старых данных*/
				   $('<option value="">--</option>').fadeIn(300).appendTo('#size_tov');
				   size_list.size=1;
				   size_list.classList.add("not_active");
				   size_list.disabled="disabled";		   
			 } 
			 if(listMaterialLen >= 1){	 
			       $('#material_list').find('option').remove();/*удаление старых данных*/
				   $('<option value="">--</option>').fadeIn(300).appendTo('#material_list');
				   listMaterial.size=1;
				   listMaterial.classList.add("not_active");
				   listMaterial.disabled="disabled";				  
			  }		   
		  }	
		};	
			  

		
	                      function select_size(){			 
           var cat_tov = $("#cat").val();
		   var type_tov = $("#type_tov").val();
		   var size_list = document.getElementById('size_tov');	
		   var listSizeLen = size_list.length;	
		   var listMaterial = document.getElementById("material_list");
		   var listMaterialLen = listMaterial.length;

					  	   	
		   if(type_tov != '' && type_tov.trim() != 'dvukhspalnye_komplekty' && type_tov.trim() != 'odnospalnye_komplekty' && type_tov.trim() != 'polutornye_komplekty' && type_tov.trim() != 'komplekty_semeynoe' && type_tov.trim() != 'euro_komplekty'){		   
			   $.ajax({			
	              url: "https://localhost/shop/admin/blocks/add_select_size_product.php",type: "POST",
			      data: "size="+cat_tov,
      	          dataType: "html", 
		          cache: false,
          	      success: function(data){		
					   $('#size_tov').find('option').remove();/*удаление старых данных*/
					   $('<option value="">--</option>').fadeIn(300).appendTo('#size_tov');
				       $(data).fadeIn(300).appendTo('#size_tov');
					   			   
					   size_list.classList.remove("not_active");
					   size_list.disabled=false;
		               size_list.size=listLen;							  
    			   }
	      	   });			 
		   }else{ 
		    
			  if(listSizeLen != 1 || type_tov.trim() == '' || type_tov.trim() == 'dvukhspalnye_komplekty' || type_tov.trim() == 'odnospalnye_komplekty' || type_tov.trim() == 'polutornye_komplekty' || type_tov.trim() == 'komplekty_semeynoe' || type_tov.trim() == 'euro_komplekty'){
			       $('#size_tov').find('option').remove();/*удаление старых данных*/
				   $('<option value="">--</option>').fadeIn(300).appendTo('#size_tov');
				   size_list.classList.add("not_active");
				   size_list.disabled="disabled";				   
			  }			  
			  if(listMaterialLen != 1){	 
			       $('#material_list').find('option').remove();/*удаление старых данных*/
				   $('<option value="">--</option>').fadeIn(300).appendTo('#material_list');
				   listMaterial.size=1;
				   listMaterial.classList.add("not_active");
				   listMaterial.disabled="disabled";				  
			  }
		   } 
		   
		};			
					 
                      
					  	    function select_material(){			 
           var name_cat = $("#cat").val();
		   var type_tov_selet = $("#type_tov").val();
		   var material_title = type_tov_selet;  
		   var material_list = document.getElementById('material_list');	
		   var listLen = material_list.length;
		   
		   if(type_tov_selet != ''){		       
			   $.ajax({			
	              url: "https://localhost/shop/admin/blocks/add_select_material_product.php",type: "POST",
			      data: "cat="+name_cat+"&type_tovara="+type_tov_selet+"&material="+material_title,
      	          dataType: "html", 
		          cache: false,
          	      success: function(data){
					   $('#material_list').find('option').remove();/*удаление старых данных*/
				       $('<option value="">--</option>'+data).appendTo('#material_list');
					   
					   material_list.classList.remove("not_active");
					   material_list.disabled=false;
    			   }
	      	   });			 
		   }else{		    
			  if(listLen >= 1){
			       $('#material_list').find('option').remove();/*удаление старых данных*/
				   $('<option value="">--</option>').fadeIn(300).appendTo('#material_list');
				   material_list.classList.add("not_active");
				   material_list.disabled="disabled";				
			   }
		   } 
		   
		};
Ответить с цитированием