【发布时间】:2010-10-21 19:40:38
【问题描述】:
我开发了一个脚本,它使用 $.getJSON 从 php 脚本接收 json 数据。 JSON 数据看起来像 '[{"options":"smart_exp"},{"options":"user_intf"},{"options":"blahblah"}] '
<html>
<head>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
<script type="text/javascript" language="javascript">
//$('document').ready(function() {
function Preload() {
$.getJSON("http://localhost/conn_mysql.php", function(jsonData){
$.each(jsonData, function(i,j)
{ alert(j.options);});
});}
// });
</script></head>
<body onLoad="Preload()">
</body>
</html>
我还开发了一个使用数组动态生成下拉列表的脚本。
<HTML>
<HEAD>
<script language="javascript">
var myarray = new Array("apples","oranges","bananas","Peac");
function populate()
{ for (i=0; i<myarray.length; i++)
{
document.form1.fruits.options[i]=new Option(myarray[i], i);
}
}
</script>
</HEAD>
<body onload="populate();">
<form name="form1">
My favourite fruit is :
<select name="fruits" />
</form>
</body>
</HTML>
现在我需要使用 getJson 返回的数据动态构建一个下拉列表,但我在合并两者时遇到了麻烦。我将非常感谢您的帮助。这是我尝试做的,但它不起作用。
<html>
<head>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
<script type="text/javascript" language="javascript">
//$('document').ready(function() {
function Preload() {
var myarray = new Array();
$.getJSON("http://localhost/conn_mysql.php", function(jsonData){
$.each(jsonData, function(i,j)
{ myarray = j.options;});});
for (i=0; i<myarray.length; i++)
{ document.form1.fruits.options[i]=new Option(myarray[i]); }
}
// });
</script></head>
<body onLoad="Preload()">
<form name="form1">
My favourite fruit is :
<select name="fruits" />
</form>
</body>
</html>
【问题讨论】:
标签: javascript arrays json dynamic drop-down-menu