2012-08-08 78 views
1

我需要重新加載此HTML下拉列表後,一些數據庫的細節得到改變。有任何想法嗎?如何重新啓動或重新加載「回顯」下拉列表?

注意:ddl_my_items.reload();不起作用。

在此先感謝。

<?php 
//populates the ddl of items 
$items = $dal->get_items() or die(mysql_error()); 

echo "<select id='ddl_my_items'>"; 
echo "<option value=''></option>"; 
foreach ($items as $item){ 
echo "<option value='$item->item_name'>$item->item_name</option>"; 
} 
echo "</select>"; 
?> 
+0

您將需要使用ajax再次獲取列表的內容。 – 2012-08-08 16:15:45

+0

請您詳細說明一下嗎?我無法想象在這種情況下使用ajax的方式。謝謝。 – Salty 2012-08-08 16:20:07

回答

1

這是最簡單的,如果你包括jQuery

創建一個php文件ajax.php只有呼應的下拉列表內容:

<?php 
//populates the ddl of items 
$items = $dal->get_items() or die(mysql_error()); 

echo "<option value=''></option>"; 
foreach ($items as $item){ 
    echo "<option value='$item->item_name'>$item->item_name</option>"; 
} 

然後,使用下面的JavaScript代碼:

$.get('ajax.php', function(result) { 
    $('#ddl_my_items').html(result); 
} 

功能$.get發送AJAX請求(其只是一個HTTP請求,其響應可以通過javascript接收)。一旦收到內容,匿名函數就會被調用。

$('#ddl_my_items')返回select元素的jQuery對象,其html允許你通過傳遞你剛剛通過Ajax調用收到的HTML代碼來改變元素的內容。

+0

它的工作表示感謝!我如何從代碼刷新它? – Salty 2012-08-08 20:39:25

+0

只需將三行javascript放入函數中,並在每次要刷新列表時調用該函數。 – Yogu 2012-08-12 15:43:08

相關問題