所以我需要追加和取消附加包含选择了哪个选项值的div,问题是首先显示选择值的方法是通过。使用Smarty PHP模板的for-each循环,我无法找到有关如何使用它实现它的任何文档。
我尝试了什么:正如您将在下面看到的,我尝试在模板文件中创建一个JavaScript变量,但它只返回所选第一个选项的值。我无法弄清楚为什么我只能从循环中获得第一个值。
例如,如果我在选择'A'和'B'中有两个项目,那么在选择值选项时,我将始终只接收'A'作为值。
Smarty模板代码:
<select class="my_select" name="vlans_{$NetworkDTO->id}[]">
{foreach from=$arrNetworkDTO item=NetworkDTO name=arr}
<option class="addOvmCardList" id="addNameDisk{$strIdTpl}" value="{$NetworkDTO->name|escape}">{$NetworkDTO->name}</option>
{/foreach}
</select>
JQuery代码:
$('a.addListOVM').click(function(){
$(".my_select").change(function() {
$('.addCardOVM').append(
'<div class="divform"><label>' + $(this).val() + '</label>' +
'<a href="">-</a></div>'
);
});
});
感谢任何帮助。
答案 0 :(得分:2)
<select id="my_select">
{foreach from=$arrNetworkDTO item=NetworkDTO}
<option value="{$NetworkDTO->name|escape}">{$NetworkDTO->name}</option>
{/foreach}
</select>
<script>
$("#my_select").change(function() {
$(".addCardOVM").append("<div>" + $(this).val() + "</div>")
});
</script>
修改:要在按钮上获取所选选项的值,请执行以下操作:
$('a.addListOVM').click(function(){
$('.addCardOVM').append(
'<div class="divform"><label>' + $(".my_select:selected").val() + '</label>' +
'<a href="">-</a></div>'
);
});