【发布时间】:2017-07-17 00:43:36
【问题描述】:
我还是 yii 的新手 现在我想添加一个 Javascript 代码,当我单击按钮时,可以将下拉列表附加到表格中。
这是我的桌子:
<table class="table table-hover" id="table-add-more">
<tr>
<th style="width:50px;">No</th>
<th style="width:200px;">Name</th>
<th style="width:50px;">Count</th>
<th style="width:30px;"></th>
</tr>
<tbody>
</tbody>
</table>
这是我的按钮:
<a id="btn-add-more" class="btn btn-sm btn-success">Add More</a>
这是我的脚本:
<script>
$(document).ready(function(){
var number = 1;
var product = <?php $product = Product::model(); echo $form->dropDownList($product,'ID', CHtml::listData(Product::model()->findAll(), 'ID', 'name')); ?>;
$('#btn-add-more').click(function() {
var more_field = "<tr>"+
"<td>"+number+"</td>"+
"<td>"+
<?php echo "product"; ?>
+"</td>"+
"<td><input type='number'/></td>"+
"<td><input type='checkbox'/></td>"+
"</tr>"
$('#table-add-more').append(more_field);
number = number + 1;
});
});
</script>
我收到一条错误消息:
"意外的令牌
在var product = <select name="Product[ID]" id="Product_ID">附近
但我还没有找到错误。
请帮忙..
【问题讨论】:
-
你是从 php 生成你的 js 脚本还是它只是一个 js 文件?如果它是 js 文件,你可以这样做,因为 php 在服务器端工作而 js 在客户端工作,并且你在 js 中的 php 代码是无效的(浏览器不会将它解释为 php,而是作为 js),这就是你的原因出现错误
-
我使用了已经连接到yii的javascript文件。
-
所以你可能只包含你的 js 文件,所以这不起作用,因为你在 javascript 代码中将 php 代码发送到客户端浏览器,并且你希望客户端浏览器会执行 php 代码,它不会因为浏览器没有其余的 php 代码,也没有 php 解释器,它是服务器工作。
-
嗯,如果是这样的话。用javascript添加下拉列表是不可能的?
-
有可能但不是那样,我只是想说你不能这样混合你的代码,阅读这个主题stackoverflow.com/questions/6369313/…首先你必须了解js和php之间的区别以及它是如何实现的工作,然后您可以开始编程,并回答您的问题,您可以通过多种方式进行操作,例如,您可以将下拉列表存储在 js 中的某些变量/模板中,或者您也可以对 php 进行 ajax 调用并询问下拉列表,然后成功后将结果附加到您想要的位置
标签: javascript php drop-down-menu yii html-table