doumixiang2227 2016-02-20 20:25
浏览 26

使用json和ajax从数据库中检索下拉列表选项时出现问题

I have a series of 3 dropdown list wherethe values for the second and third change dependin on what was selected in the previous. But currently the values don't appear in a mobile version, while in the full desktop version everything works just fine. I have this part of the codes. Sorry if messy

// JAVASCRIPT

        function limpiar(combo)
    {
    var combo2 = document.getElementById(combo);
       while(combo2.length > 0)
       {
          combo2.remove(combo2.length-1);
       }
    }
    function llenar(json, combo)
    {
        var combo2 = document.getElementById(combo); 
        combo2.options[0] = new Option('Todos', 'Todos');
        for(var i=0;i<json.length;i++){
            combo2.options[combo2.length] = new Option(json[i].data, json[i].id);
        }
    }
    function cambmar()
    {
        var combo0 = document.getElementById("idmod");
        combo0.options[0] = new Option('Todos', 'Todos');
        var combo1 = document.getElementById("idcat"); 
        var combo2 = document.getElementById("idmar"); //con jquery: $("#"+combo2)[0];
        limpiar(combo2.id);
        limpiar(combo0.id);
        if(combo1.options[combo1.selectedIndex].value != "")
        {
            $.ajax({type: 'get', dataType: 'json', url: 'mar.php', data: {valor: combo1.options[combo1.selectedIndex].value},success: alert("hola");  });
        }
    }

    function cambmod()
    {
        var combo0 = document.getElementById("idcat");
        var combo1 = document.getElementById("idmar"); 
        var combo2 = document.getElementById("idmod"); //con jquery: $("#"+combo2)[0];
        limpiar(combo2.id);
        if(combo1.options[combo1.selectedIndex].value != "")
        {
        $.ajax({type: 'get', dataType: 'json', url: 'mod.php', data: {valor: combo0.options[combo0.selectedIndex].value, mar: combo1.options[combo1.selectedIndex].value}, success: function(json){ llenar(json, combo2.id);}});
    }
}

// HTML

    <div  class="container-fluid">
            <div  style="text-align: center;"  class="boxCategoria">Categoria:</div>            
                <select name="cat" class="categoria" id="idcat" onchange="cambmar()">
                        <option value="0">Todos</option>
                        <option value="1">Automóviles</option>
                        <option value="2">Camionetas</option>
                        <option value="3">Motocicletas</option>
                    </select>
   </div>

              <div  class="container-fluid">
                <div  style="text-align: center;"  class="boxMarca">Marca:</div>

                    <select  name="mar"  class="marca"  id="idmar"  onchange="cambmod()">
                        <option  value="Todos">Todos</option>
                    </select>

                 </div>

                <div  class="container-fluid">
                <div  style="text-align: center;"  class="boxModelo">Modelo:</div>

                    <select name="mod" class="modelo" id="idmod">
                        <option value="Todos">Todos</option> 
                    </select>
                </div>

//mar.php

<?php
   $valor = $_GET['valor'];
   include("conexion.php");

   $CmdSQL="SELECT DISTINCT mar FROM autos WHERE cat=$valor";
   $runquery=mysql_query ($CmdSQL,$conecta);
   if (mysql_num_rows($runquery)!=0)
   {
      if (mysql_num_rows($runquery)!=0)
      {
         while($marc=mysql_fetch_row($runquery))
         {
            $_arreglo[] = array('id' => $marc[0], 'data' => $marc[0]);  
         }
      }
      mysql_close();
      echo json_encode($_arreglo);
   }
?>
  • 写回答

0条回答 默认 最新

    报告相同问题?

    悬赏问题

    • ¥15 CVRP 图论 物流运输优化
    • ¥15 Tableau online 嵌入ppt失败
    • ¥100 支付宝网页转账系统不识别账号
    • ¥15 基于单片机的靶位控制系统
    • ¥15 真我手机蓝牙传输进度消息被关闭了,怎么打开?(关键词-消息通知)
    • ¥15 下图接收小电路,谁知道原理
    • ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
    • ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
    • ¥15 手机接入宽带网线,如何释放宽带全部速度
    • ¥30 关于#r语言#的问题:如何对R语言中mfgarch包中构建的garch-midas模型进行样本内长期波动率预测和样本外长期波动率预测