2010-10-20 76 views
0

我正在使用PHP來生成動態下拉列表,下拉列表項是從數據庫中提取的。需要幫助jQuery克隆表單下拉列表(動態下拉列表)

這是php代碼,它的工作原理。

<select name="title[]" id="title"> 
<?php $categories = Category::find_by_cid(5); foreach($categories as $category): ?> 
<option value="<?php echo $category->name; ?>"><?php echo $category->name; ?></option> 
<?php endforeach; ?> 
</select> 

我想要做的是,使用jQuery只要單擊帶有ID的AddNew一個鏈接,一個新的下拉菜單會出現如下的是,含有相同的值。

此外,有沒有什麼辦法可以在JavaScript內執行php代碼?

例如:

<script> 
var name = "<?php echo $user->name; ?>"; 
</script 

回答

2

要克隆的元素,你可以使用jQuery的.clone()方法(顯然):

$('#addNew').click(function() { 
    $('select.title').after($('select.title').clone()); 
}); 

注意的ID應該是在頁面上獨一無二的,如果你要克隆選擇元素,給它一個類,而不是的ID。

是的,只要該文件是用PHP處理的,就可以在JavaScript中「使用」PHP。請注意,您實際上並未使用JavaScript訪問PHP,而是動態創建JavaScript文件。

0

此外,有沒有什麼辦法可以在JavaScript內執行php代碼?

不是,沒有。 PHP執行服務器端,所以這個例子你提供:

<script> 
var name = "<?php echo $user->name; ?>"; 
</scrip> 

這將變成是:

<script> 
var name = "Josh"; 
</script> 

在運行時,當JavaScript有訪問它。 php代碼被執行,然後呈現給html,javascript終於看到它。你在做什麼是動態創建JavaScript而不是執行PHP代碼。