2011-12-06 202 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