Can';t使用Javascript添加下拉列表yii
我和易还是新手 现在我想添加一个Javascript代码,当我单击按钮时,它可以将下拉列表附加到表中 这是我的桌子: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>
<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')); ?>";