我对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">
附近但是我还没有发现错误。请帮忙。。
我认为更好的方法是在初始化时使用display: none
的下拉列表,当您单击该按钮时,您可以将显示更改为块。但是,如果您想将下拉列表附加到表中,我认为您的javascript函数中存在两个问题:
1.您需要将这个php代码封装到""
中。
var product = "<?php $product = Product::model(); echo $form->dropDownList($product,'ID', CHtml::listData(Product::model()->findAll(), 'ID', 'name')); ?>";
- 我认为你需要
<?php echo $product; ?>
,而不是<?php echo "product"; ?>