我使用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
答案 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代码。