使用 AJAX 从 PHP 获取数组到 JS
Get array from PHP to JS using AJAX
当我在数据 table 中单击添加新按钮时,我想创建下拉菜单而不是文本 boxes.this 下拉菜单值必须从 database.My 代码中检索数据下面。
//button to add new row
function addeditRow(oTable, nRow) {
$.ajax({
type: "POST",
url: "menudrop.php",
success: function(html) {
$("#one").append(html);
}
});
var aData = oTable.fnGetData(nRow);
var jqTds = $('>td', nRow);
jqTds[0].innerHTML = '';
jqTds[1].innerHTML = '<input type="text" class="form-control input-small" id="two" value="' + aData[1] + '">';
jqTds[2].innerHTML = '<SELECT id="one" name="menus"><OPTION></OPTION></SELECT>';
jqTds[3].innerHTML = '<a class="edit" href="">Save</a>';
jqTds[4].innerHTML = '<a class="cancel" href="">Cancel</a>';
}
menudrop.php
<?php
require_once("database/connect.php");
$db = new Database;
$db->mquery('a_menus','*');
$menus = $db->fetchdata();
$items = array();
foreach($menus as $ms) {
$items[] = $ms->menu_name;
}
print_r($items);
?>
这是行不通的。谁能帮帮我?
使用 php 函数 json_encode($items);
到 return 来自 php 的 json 而不是打印值
<?php
require_once("database/connect.php");
$db = new Database;
$db->mquery('a_menus','*');
$menus = $db->fetchdata();
$items = array();
foreach($menus as $ms) {
$items[] = $ms->menu_name;
}
echo json_encode($items);
?>
在 ajax 中创建一个 select 我们在成功函数中使用类似这样的东西:
success: function(html) {
$("#one").append('<select name="menus">');
$.foreach(html,function(index,val){
$("#one").append('<option value="'+val.id+'">'+val.name+'</option>');//assuming that in your resulting query exist a field named id and a field named name
});
$("#one").append('</select>');
}
当我在数据 table 中单击添加新按钮时,我想创建下拉菜单而不是文本 boxes.this 下拉菜单值必须从 database.My 代码中检索数据下面。
//button to add new row
function addeditRow(oTable, nRow) {
$.ajax({
type: "POST",
url: "menudrop.php",
success: function(html) {
$("#one").append(html);
}
});
var aData = oTable.fnGetData(nRow);
var jqTds = $('>td', nRow);
jqTds[0].innerHTML = '';
jqTds[1].innerHTML = '<input type="text" class="form-control input-small" id="two" value="' + aData[1] + '">';
jqTds[2].innerHTML = '<SELECT id="one" name="menus"><OPTION></OPTION></SELECT>';
jqTds[3].innerHTML = '<a class="edit" href="">Save</a>';
jqTds[4].innerHTML = '<a class="cancel" href="">Cancel</a>';
}
menudrop.php
<?php
require_once("database/connect.php");
$db = new Database;
$db->mquery('a_menus','*');
$menus = $db->fetchdata();
$items = array();
foreach($menus as $ms) {
$items[] = $ms->menu_name;
}
print_r($items);
?>
这是行不通的。谁能帮帮我?
使用 php 函数 json_encode($items);
到 return 来自 php 的 json 而不是打印值
<?php
require_once("database/connect.php");
$db = new Database;
$db->mquery('a_menus','*');
$menus = $db->fetchdata();
$items = array();
foreach($menus as $ms) {
$items[] = $ms->menu_name;
}
echo json_encode($items);
?>
在 ajax 中创建一个 select 我们在成功函数中使用类似这样的东西:
success: function(html) {
$("#one").append('<select name="menus">');
$.foreach(html,function(index,val){
$("#one").append('<option value="'+val.id+'">'+val.name+'</option>');//assuming that in your resulting query exist a field named id and a field named name
});
$("#one").append('</select>');
}