2010-10-20 129 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代码。