Can';t使用Javascript添加下拉列表yii

Can';t使用Javascript添加下拉列表yii,javascript,php,drop-down-menu,yii,html-table,Javascript,Php,Drop Down Menu,Yii,Html Table,我和易还是新手 现在我想添加一个Javascript代码,当我单击按钮时,它可以将下拉列表附加到表中 这是我的桌子: <table class="table table-hover" id="table-add-more"> <tr> <th style="width:50px;">No</th> <th style="width:200px;">Name</th>

我和易还是新手 现在我想添加一个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>

$(文档).ready(函数(){
var数=1;
var乘积=;
$(“#btn添加更多”)。单击(函数(){
var more_field=“”+
“”+数字+“”+
""+                                
+""+
""+
""+
""
$(“#表添加更多”).append(更多字段);
数字=数字+1;
});
});
我收到一条错误消息:


“意外标记我认为更好的方法是在初始化时让下拉列表显示为
display:none
,当您单击该按钮时,您可以将显示更改为block。但是如果您想将下拉列表附加到表中,我想您的javascript函数有两个问题:

1.您需要将此php代码包装到

var-product=”“;
  • 我想你需要的是
    ,而不是

  • 您是从php生成js脚本还是只是一个js文件?如果它是js文件,您可以这样做,因为php在服务器端工作,js在客户端工作,而您的js中的php代码无效(浏览器不会将其转换为php,而是js)这就是为什么你会出错的原因。我使用了与yii连接的javascript文件。所以你可能只包含你的js文件,所以这不会起作用,因为你正在将javascript代码中的php代码发送到客户端浏览器,并且你希望客户端浏览器会执行php代码,这不会发生,因为浏览器没有其余的php代码,也不会有php解释器,如果是这样的话,那就是server job.hmm。不可能用javascript添加下拉列表?有可能,但不是那样,我只是想说,你不能以这种方式混合你的代码,首先阅读这个主题,你必须了解js和php之间的区别,以及它是如何工作的,然后你可以开始编程,并回答你的问题不过,你可以用很多方法,比如用js在一些变量/模板中存储下拉列表,或者你也可以用ajax调用php请求下拉列表,然后在成功后将结果附加到你想要的地方
    var product = "<?php $product = Product::model(); echo $form->dropDownList($product,'ID', CHtml::listData(Product::model()->findAll(), 'ID', 'name')); ?>";