需要帮助jQuery克隆表单下拉列表(动态下拉列表)

时间:2010-10-20 10:29:29

标签: php jquery

我使用PHP生成动态下拉列表,下拉列表项是从数据库中提取的。

这是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>

我想要做的是,每当点击带有ID AddNew的链接时使用jQuery,下面会出现一个新的下拉列表,其中包含相同的值。

另外,有没有办法在javascript中执行php代码?

前:

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

3 个答案:

答案 0 :(得分:2)

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

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

请注意,ID在页面上应该是唯一的,如果您要克隆select元素,请为其提供一个类而不是ID。

是的,只要文件是用PHP处理的,你就可以在JavaScript中“使用”PHP。请注意,您实际上并未使用JavaScript访问PHP,而是动态创建JavaScript文件。

答案 1 :(得分:0)

使用jQuery .clone()方法。

答案 2 :(得分:0)

  

另外,有没有办法在javascript中执行php代码?

不是,不。 PHP在服务器端执行,因此在您提供的示例中:

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

结果将是:

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

在运行时,当javascript可以访问它时。执行php代码,然后渲染到html终于看到它的html。你正在做的是动态创建javascript而不是执行php代码。