Мне нужно показать товар в формате. Падать - PullRequest
0 голосов
/ 07 августа 2020

У меня есть раскрывающаяся форма здесь https://ariyoconcept.com.ng/quick-widget, чтобы продавать все мои продукты woocommerce. Я ожидаю, что после выбора DataBubundles из раскрывающегося списка должны быть показаны подкатегории DataBundles, что происходит. Теперь я снова ожидаю, что после выбора любой из подкатегорий продукты в этой подкатегории будут отображаться в виде раскрывающегося списка, чего не произошло.

Это код, который я использовал, я буду очень признателен, если кто-то может указать мои ошибки. Заранее спасибо

         var networkform='<select name="product_subcat" id="product_subcat" class="dropdown_product_cat" style="padding:15px; font-size:20px; width:100%; border: 1px solid #7cc68d; color:#7cc68d;   box-shadow: inset 0px 0px 8px #7cc68d;font-weight:bold;" >';
         jQuery.each(response, function(i, userObject){
      
//var is_last_item = (index == (.length - 1));
  // jQuery('#form1').append('<option value="' + userObject.id+'">'+ userObject.name + '</option>');
        
             networkoption+='<option value="' + userObject.slug+'">'+ userObject.name + '</option>';
});
         
            
        jQuery('#form1').append(networkform+networkoption+'</select><hr/>');
                jQuery("#form1").hide();
            jQuery(document).ajaxStop(function(){
        
             jQuery(".dropdown_product_cat").attr('disabled', false);
                jQuery("#form1").show();
});

            //var obj = jQuery.parseJSON(response);
/*jQuery.each(response, function() {
  jQuery.each(this, function(k, v) {
    alert();
  });
});
*/      //alert(response);  
        
            }
        } });
}

            jQuery('#form1').on('change','#product_subcat', function() {
            
            jQuery("#form2").empty(); 
            jQuery("#buy").hide();
            jQuery("#importantnote").hide();
            jQuery("#form3").empty();
            var subcat_id=this.value;
            var subcat_name=jQuery( "#product_subcat option:selected" ).text();
            //alert(product_name);
            if(subcat_id!=''){  
            jQuery.ajax({url: "https://ariyoconcept.com.ng/wp-json/wc/v3/products?consumer_key=ck_a51c40a17db9f6769bb7bacfcbd0dceb273d80bc&consumer_secret=cs_abeaf1a95389a45b9a7f0542c91f6acda888c971&filter[order]=asc&filter[category]="+subcat_id+"&filter[orderby]=meta_value_num&filter[orderby_meta_key]=_regular_price", dataType:'json', success:function(response) { 
                
            //  https://ariyoconcept.com.ng/wp-json/wc/v3/products/?category="+subcat_id+"&order=desc&consumer_key=ck_a51c40a17db9f6769bb7bacfcbd0dceb273d80bc&consumer_secret=cs_abeaf1a95389a45b9a7f0542c91f6acda888c971
                
            //jQuery("#form1").empty();
            if(response.length==0){
        
                
            }else{
        var networkoption='<option value="">Choose Distributor</option>';
         var networkform='<select name="product_buy" id="product_buy" class="dropdown_product_cat" style="padding:15px; font-size:20px; width:100%; border: 1px solid #7cc68d; color:#7cc68d;   box-shadow: inset 0px 0px 8px #7cc68d;font-weight:bold;" disabled>';
         jQuery.each(response, function(key, value){
      

 jQuery.each(value, function (index, userObject) {

             networkoption+='<option value="' + userObject.id+'">'+ userObject.title + '</option>';
    
  });       
});
         
                
            
        jQuery("#form2").empty(); 
    
    jQuery('#form2').append(networkform+networkoption+'</select><hr/>');
                jQuery("#form2").hide();
            jQuery(document).ajaxStop(function(){
                 jQuery(".dropdown_product_cat").attr('disabled', false);
                jQuery("#form2").show();
});

            //var obj = jQuery.parseJSON(response);
/*jQuery.each(response, function() {
  jQuery.each(this, function(k, v) {
    alert();
  });
});```

1 Ответ

0 голосов
/ 07 августа 2020

Просматривая указанный вами URL-адрес, кажется, что ошибка находится в строках:

jQuery.each(response, function(key, value){
    jQuery.each(value, function (index, userObject) {
        networkoption+='<option value="' + userObject.id+'">'+ userObject.title + '</option>';
    });
});

, которые находятся в предложении else функции jQuery('#form1').on('change','#product_subcat', function() {. Кажется, что переменная ответа сама по себе является набором сетевых параметров. Отлаживайте код с помощью инструментов Dev в любом используемом вами браузере. Это должно дать вам правильные ответы.

...