2011-12-06 162 views
1

我想在php中使用javascript创建动态下拉列表。我能够从下拉列表中获取值并显示第二个列表值。但是,该列表会显示在下一页上。我如何让它显示在同一页面上?PHP动态下拉列表

这是窗体页上:

$(document).ready(course_selectbox_change); 
function course_selectbox_change() { 
    $('#course').change(update_section_list); 
} 

function update_section_list() { 
    var course=$('#course').attr('value'); 
    $.get('hashtag.php?course='+course, generateSelect); 
}    

function show_sections(sections) { 
    $('#section').html(sections); 
} 



<?php 
    include "database.php"; 
    $course= ($_REQUEST['course']); 
    $semester = ($_REQUEST['semester']); 

    if (isset($course)) { 
     $sections = retrieveSection($course); 
    } 
    if (!$sections) { 
     echo 'Select a course first'; 
    } else { 
     echo '<select name="section"><option>' 
      . join('</option><option>', $sections) 
      . '</select>'; 
    } 
?> 
+1

您是否也可以发布您在'$ .get'中调用的'generateSelect'函数 – DKSan

回答

1

不能使用加入在这种情况下

它会打印出的东西喜欢value1<option></option>value2<option></option>value3

尝试

<select name="section"> 
<?php 
foreach($sections as $key => $value) 
{ 
    echo "<option value='$key'>$value</option>"; 
} 
?> 
</select> 
+0

您确定吗?我认为它会首先输出一个空白选项,最后输出一个空白选项。其他人应该工作得很好 – DKSan

+0

我敢肯定,它将输出完全值1 value2 value3。由于加入是内爆的别名,因此它使用作为分隔符 – hungneox

+1

您误读了'';它实际上是'

0
  1. 为什么不使用nativ e jquery ui自动完成?
  2. 你是什么意思“列表显示在下一页”?新内容出现在可见窗口下方?如果“是”,只需移动#内容块更高
+0

当我选择课程时,我必须在任何更改之前单击提交,并且基于下拉列表此课程输入将显示在表单操作页面而不是主窗体页面上。我如何克服这一点? – codingNewbie