我想要做的是,每当用户在grouptypes下拉菜单中选择一个grouptype时,它会触发一个处理程序来检索属于该grouptype的相应组,并将其传递给第二个选择下拉列表。
我有两个数据库表,组类型和组。 grouptype可以有多个组,但一个组只属于一个grouptype。我有两个选择标签,一个是grouptypes,另一个是group。
我的代码如下,不正确和完整。所有代码都包含在同一个PHP文件GroupModificationSuccess.php中(这是一个问题吗?)。它应该得到'grouptypes'和echo'true'的值,但它回显'false'。这意味着该值无法正确传递。任何人都可以帮我看看并告诉我正确的方法吗?感谢
<?php
$rows = array();
if(isset($_GET['grouptypes'])){
echo 'true';
}else{
echo 'false';
}
?>
<script type="text/javascript">
function populateFruitVariety() {
$.getJSON("url_for('GroupModificationSuccess')", {grouptypes:$('#grouptypes').val()}, function(data) {
var select = $('#groups');
var options = select.attr('options');
$('option', select).remove();
$.each(data, function(index, array) {
options[options.length] = new Option(array['group']);
});
});
}
$(document).ready(function() {
populateFruitVariety();
$('#grouptypes').change(function() {
populateFruitVariety();
});
});
</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">
<?php $count = 0; ?>
<?php foreach($groups as $group) : ?>
<?php $count++; ?>
<?php echo "<option value='" . $group->name . "'>" .$group->name. "</option>"; ?>
<?php endforeach ?>
</select>
<br />
答案 0 :(得分:0)
我的提示是使用firebug / simular Web开发人员工具调试代码,使用javascript函数console.log将消息输出到控制台。只需传递字符串/对象即可将其输出到控制台。
例如,尝试输出options变量。我的猜测是,因为你使用了attr函数它是空的。而是尝试子功能,这可能会帮助你。