当从ajax生成droplist时,无法获取值

时间:2018-01-20 08:22:25

标签: javascript php jquery html ajax

我使用ajax下拉值生成,并且我无法获得之后选择的值。任何帮助吗?

我的链接就是那个

  www.website.com/categories.php?ca=2&uc=16        //ca is category , uc is undercategory

的PHP / HTML

  if(isset($_SESSION['ca'])){$cat = $_SESSION['ca'] ; }else if(isset($_GET['ca']) && $_GET['ca'] ){$cat =$_GET['ca']; }else{$cat =0;}
  if(isset($_SESSION['uc'])){$undercat = $_SESSION['uc'] ; }else if(isset($_GET['uc']) && $_GET['uc'] ){$undercat =$_GET['uc']; }else{$undercat =0;} 



     <div class="searchdropdown">
        <select name="category_group"  id="category_group"   class="lan_search" > 
        <option value="0">&laquo; <?php echo ALL_CATEGORIES ;?> &raquo;</option> 
        <?php
            $get_categories= get_categories_list(0);
               for($i=0; $i < count($get_categories['ids']);$i++ ){
                echo "<option value='".$get_categories['ids'][$i]."'  >".$get_categories['names'][$i]."</option>";
               }
        ?>              
        </select> 
        </div>
        <div class="searchdropdown uk">
        <select class="lan_search subkomun_search" name="underKategory" id="underKategory">     
            <option value="0">&laquo; <?php echo ALL_SUB_CATEGORIES ;?> &raquo;</option>  
        </select>
        </div>

JS

  var cat = <?php echo $cat ;?>;
 var ucate = <?php echo $undercat ;?>;
 var kats_aray =[0,2,3,4,7,8,9];
$('#category_group option[value="' + cat + '"]').prop('selected', true); // this works

   if(inArray($('#category_group').val(),kats_aray ) )
          {$('.uk').css('display','none');}else{
          $('.uk').css('display','block');
          showSubKategory($('#category_group').val());  // Im generating the dropdown list by ajax
   }
  $('#underKategory option[value="' + ucate + '"]').prop('selected', true); // this doesnt work/ doesnt get selected value though is returns the right value if i alert it.

我在stackoverflow中找不到一些确切的问题。 我猜是什么它没有被选中因为页面被加载而ajax还没有返回,这就是为什么它没有被选中,但这只是我的猜测。 如果你需要 showSubKategory(val),请告诉我,但这只是在选定类别的值之后生成下拉列表以获得undercategories。

编辑:

这是ajax的函数

    function showSubKategory(val){
            $.ajax
                    ({
                    type: "POST",
                    url: "process/process.php",
                    data:{"getsubcategories": "getsubcategories","cat":val} , 
                    dataType: 'json',
                    success: function(data)
                    {
                                     $('#underKategory').css('opacity', '1');
                                                 var $el =  $("#underKategory");
                                    $el.empty(); // remove old options
                                     var len = data.length;
                                    $el.append($("<option></option>").attr("value", 0).text('Please Select'));
            for( var i = 0; i<len; i++){
                var id = data[i]['ids'];
                var name = data[i]['names'];

                $el.append("<option value='"+id+"'>"+name+"</option>");

            }                                                                           

                    }
                });
  }

编辑: 我想要解释一下。 这在刷新页面时不起作用,当使用onchange时,它可以通过jquery工作。

0 个答案:

没有答案
相关问题