【发布时间】:2012-02-24 14:26:24
【问题描述】:
我想创建一个动态下拉菜单,其中一个选择基于另一个选择的值。我试了很多次,都失败了。我的代码如下。任何人都可以帮助我找出问题所在。
//模板:
<script type="text/javascript">
$(function(){
getSelectVal();
$("#grouptypes").change(function(){
getSelectVal();
});
});
function getSelectVal(){
$.getJSON('<?php echo url_for('group_utilization/GroupModification') ?>', {'grouptypes':$("#grouptypes").val()},function(data){
var groups = $("#groups");
$("option",groups).remove();
$.each(json,function(index,array){
var option = "<option value='"+array['id']+"'>"+array['title']+"</option>";
select.append(option);
});
});
}
</script>
GroupType: <select id="grouptypes">
<?php foreach($grouptypes as $type) : ?>
<?php echo "<option value='" . $type->name . "'>" .$type->name. "</option>"; ?>
<?php endforeach ?>
</select><br />
<br />Result:<span id="list-of-groups"></span>
<br />
Group: <select name="group" id="groups">
</select><br />
另一个用于返回数据库返回值的文件:
if(isset($_GET["grouptypes"])){
$grouptypes = $_GET["grouptypes"];
$query = "SELECT g.name FROM groups g INNER JOIN group_types gt ON(gt.id = g.group_type_id AND gt.name = ?)";
$groups = $db->getResultsForQuery($query, $grouptypes);
echo json_encode($groups);
}
【问题讨论】:
-
当你说你失败了,你是什么意思?您有任何可以发布的错误消息吗?
-
是否有任何脚本错误?您似乎指的是未初始化的变量 json
$.each(json,function(index,array){ -
和
json变量一样,select变量没有在您发布的代码中初始化。 -
注意:未定义变量:第 47 行 /Users/alexhu/Work/menagerie/trunk/apps/utilities/modules/group_utilization/actions/actions.class.php 中的组类型
标签: php javascript jquery mysql