<select>上有onload的替代方法吗?

时间:2018-02-14 14:18:38

标签: javascript html jinja2 selectize.js

我正在使用jinja模板基于模板变量字典编译多个选择块的形式,如下所示: {%表示密钥,some_template_variable_dict.items%中的值}         &lt; select id =&#34; {{key}} _ selector&#34;名称=&#34;键&#34;&GT;             {%表示值%}                 &lt; option value =&#34; {{item}}&#34;&gt; {{item}}&lt; / option&gt;             {%endfor%}         &LT; /选择&GT; {%endfor%} 我想激活以下包装函数,以便在加载文档时选择所有选择块: function selectizeSingleChoice(selector){     $(&#39;#&#39; +选择器).selectize({         sortField:&#39; text&#39;,         maxItems:1,         创建:false,         突出显示:是的,         openOnFocus:是的     }); } select块没有onload事件处理程序,我不能把它放在一般的$(document).ready();或者,作为选择块的确切列表,它们的id-s取决于用户选择。还有一个选项是,某些选项需要稍微不同的选择包装版本(例如,不仅允许选择一个选项等),所以我也不能在每个选择项目上触发它。 一个有效的解决方案是在for循环中插入一个脚本标记,但我不喜欢它的混乱。

1 个答案:

答案 0 :(得分:2)

由于您的数据是动态生成的,因此您可以使用指定类型class="type1"class="type2"的类来标记每个选择选项,以便稍后您可以从JS端对它们执行单独的操作。或者您可以使用HTML data-*属性来区分它们。