我做錯了檢索獲取JSON值,但我似乎無法弄清楚它是什麼。不能使用jQuery
的$ .getJSON行應通過Ajax請求檢索數據,通過它當前選擇的水果名稱。然後將數據循環遍歷(它是一個包含索引'variety'的數組,包含水果品種名稱),並添加到一個html字符串中,然後最終由Jquery將其注入到網頁的#varieties範圍內,替換之前存在的內容。
HTML
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<title>Toevoegen</title>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.1/jquery.min.js"></script>
<script language="javascript" type="text/javascript">
function populateFruitVariety() {
var fruitName = $('input[name=fruitName]:checked').val();
$.getJSON('func.php', {fruitName: fruitName}, function(fruit) {
var html = '';
$.each(fruit[fruitName], function(index, array) {
html = html + '<label><input type="radio" name="variety" value="' + array['variety'] + '" />' + array['variety'] + '</label> ';
});
$('#varieties').html(html);
});
}
populateFruitVariety();
$('input[name=fruitName]').change(function() {
populateFruitVariety();
});
</script>
</head>
<body>
<form>
<div>
<strong>Fruit:</strong>
<label><input type="radio" name="fruitName" value="Apple" checked="checked" />Apple</label>
<label><input type="radio" name="fruitName" value="Banana" />Banana</label>
<label><input type="radio" name="fruitName" value="Orange" />Orange</label>
<label><input type="radio" name="fruitName" value="Pear" />Pear</label>
</div>
<div>
<strong>Variety:</strong>
<span id="varieties"></span>
</div>
<div>
<strong>Type:</strong>
<span id="type"></span>
</div>
</form>
FUNC.PHP
<?php
$dsn = "mysql:host=localhost;dbname=dbname";
$username = "user";
$password = "pass";
$pdo = new PDO($dsn, $username, $password);
$rows = array();
if(isset($_GET['fruitName'])) {
$stmt = $pdo->prepare("SELECT DISTINCT variety FROM fruit WHERE name = ? ORDER BY variety");
$stmt->execute(array($_GET['fruitName']));
$rows = $stmt->fetchAll(PDO::FETCH_ASSOC);
}
echo json_encode($rows);
?>
出於某種原因,這是不正常因爲jQuery不會拿起JSON值我可以從看控制檯。
當改變的最後一塊的jquery代碼到:
$(function() {
populateFruitVariety();
$('input[name=fruitName]').change(function() {
populateFruitVariety();
});
});
的值將在控制檯被檢索,但是未示出作爲選項框。雖然在控制檯中仍然存在錯誤。 (一個是不確定的)
看起來有效的Wooh!但只用時:_ $(函數()_ 根據本教程,應該可以用_fruit [fruitName] _和不_ $(函數()_,請參閱: HTTP:// WWW。 electrictoolbox.com/json-data-jquery-php-radio-buttons/ – Jroen