Javascript 将ID分配给动态生成的HTML标记

Javascript 将ID分配给动态生成的HTML标记,javascript,php,jquery,html,symfony,Javascript,Php,Jquery,Html,Symfony,我使用的是symfony2php框架和Twig。我的问题是: 我必须生成数量可变的元素。然后,每个选择显示一组选项,用户必须从中选择一个。因此,我想以某种方式为这些元素中的每一个指定一个id属性,这样我就可以为它们中的每一个获得所选的选项 我一直在四处寻找,尝试不同的东西,但到目前为止没有任何效果 我的代码如下所示: <form action="" method="POST" id="selectForm"> {% for i in 1..11 %} <

我使用的是symfony2php框架和Twig。我的问题是:

我必须生成数量可变的元素。然后,每个选择显示一组选项,用户必须从中选择一个。因此,我想以某种方式为这些元素中的每一个指定一个id属性,这样我就可以为它们中的每一个获得所选的选项

我一直在四处寻找,尝试不同的东西,但到目前为止没有任何效果

我的代码如下所示:

<form action="" method="POST" id="selectForm">
    {% for i in 1..11 %}
        <select class="select" id="select{{ i }}">
            <option disabled selected> --Select a player -- </option>
                {% for item in items %}
                    <option>...</option>
                {% endfor %}
        </select></br>
    {% endfor %}
    <button class="btn btn-primary" id="updateButton">Update</button>
</form>

正如您所见,我最近尝试使用Twig变量I,它迭代for循环以设置id,但似乎不起作用。

您应该将变量与字符串连接起来,而不是打印它

<form action="" method="POST" id="selectForm">
    {% for i in 1..11 %}
        {% set sid = "select"~i %}
        <select class="select" id=sid>
            <option disabled selected> --Select a player -- </option>
                {% for item in items %}
                    <option>...</option>
                {% endfor %}
        </select></br>
    {% endfor %}
    <button class="btn btn-primary" id="updateButton">Update</button>
</form>

你有没有考虑过使用symfony表格。。表单组件与twig密切合作,并自动生成所有这些元素。您发布的代码正确生成元素。您可以在这里看到执行代码的结果:如果您试图将模板中的播放器选项映射到播放器实体选择字段,则需要向该字段提供一个id数组作为默认数据。请参阅…/vendor/symfony/symfony/UPGRADE-2.3.md,第173行转发。感谢您的帮助!Javier是对的,显然我最后一次尝试使用twig循环索引分配id时工作正常,我看不到它,因为我也没有正确选择元素,我只是没有考虑检查源代码以查看id是否被正确分配,非常感谢@JavierEguiluz和其他人的提示!!是的,你能做到。但是没有必要这样做。关于id属性,细枝代码按预期工作。见twigfiddle.com/sd3p02