[求助] AJAX 连动下拉选单 取不到值 return 'undefined'_Android, Python及开发编程讨论区_Weblogic技术|Tuxedo技术|中间件技术|Oracle论坛|JAVA论坛|Linux/Unix技术|hadoop论坛_联动北方技术论坛  
网站首页 | 关于我们 | 服务中心 | 经验交流 | 公司荣誉 | 成功案例 | 合作伙伴 | 联系我们 |
联动北方-国内领先的云技术服务提供商
»  游客             当前位置:  论坛首页 »  自由讨论区 »  Android, Python及开发编程讨论区 »
总帖数
1
每页帖数
101/1页1
返回列表
0
发起投票  发起投票 发新帖子
查看: 2978 | 回复: 0   主题: [求助] AJAX 连动下拉选单 取不到值 return 'undefined'        上一篇   下一篇 
X.Hitler.L
注册用户
等级:上等兵
经验:124
发帖:7
精华:0
注册:2012-6-6
状态:离线
发送短消息息给X.Hitler.L 加好友    发送短消息息给X.Hitler.L 发消息
发表于: IP:您无权察看 2016-4-19 9:40:17 | [全部帖] [楼主帖] 楼主

各位大大 因为不熟卡了很久 所以想请教大家

我去实作了 看起来比较简单的 简易版PHP +AJAX下拉选单

我大致针对我的资料表 修改了SQL语法

第一层下拉选单 用数据库查询出来没问题

 

也大概知道原理是

 

第二层选单GET第一层选单选取的值 当作SELECT的条件 再将查询出来的结果回传回去给第二层下拉选单呈现

可是不知道是不是语法有错误

第二层AJAX response 虽然是success 不过都显示"undefined" <--Q1

爬文过也试过加上"async:false"还是一样"undefined"

 

我是在做一个新增资料的表单

因为资料表栏位的关系

所以想顺便问如何分别取得 这两层选单 选取的值 <--Q2

 

请有空的大大帮帮我 感恩!!

 

index.php AJAX部分

<script>
   $(function() {
       $('#myParentSelect').change(function() {
           //更动第一层时第二层清空
           $('#myFirstChildSelect').empty().append("<option value=''>请选择</option>");
           var i = 0;
           $.ajax({
               type: "GET",
               async:false,
               url: "action.php",
               data: {
                   lv: $('#myParentSelect option:selected').val()
               },
               datatype: "json",
               success: function(result) {
                   //依据第一层回传的值去改变第二层的内容
                   while (i < result.length) {
                       $("#myFirstChildSelect").append("<option value='" + i + "'>" + result[i]['cat2_value'] + "</option>");
                       i++;
                   }
               },
               error: function(xhr, status, msg) {
                   console.error(xhr);
                   console.error(msg);
               }
           });
       });
   });
   </script>

action.php


<?php

header('Content-Type: application/json;charset=utf-8'); //return json string
//DB connect
$lvnum = $_GET['lv'];
$jarray = array(); //使用array储存结果,再以json_encode一次回传
if ($lvnum != 0) {
   //此query视table结构调整,基本上是第一层ID=第二层ID的概念
   $query = "SELECT smallcat_value FROM pro_category where bigcat= $lvnum";//取大类别选取的值 当条件
   $result = mysqli_query($link,$query)or die('query did not work');
   while ($row = mysqli_fetch_assoc($result)) {    
       $jarray[] = $row;
   }
} else {
   echo 0;
   return;
}
echo json_encode($jarray);
return;
?>






赞(0)    操作        顶端 
总帖数
1
每页帖数
101/1页1
返回列表
发新帖子
请输入验证码: 点击刷新验证码
您需要登录后才可以回帖 登录 | 注册
技术讨论