2

不确定我是否正确地表达了这个问题。我有一个表单来编辑来自 MongoDB 的文档(使用 Tornado 模板)。当他们单击编辑时,他们会转到预先填充表单的页面。以我的形式:

{% for group in doc.groups %}
     <div class="groupMenu">
         <select name="gName0" id="groupDropDown">
              <option value="group1">Group 1</option>
              <option value="group2">Group 2</option>
              <option value="group3">Group 3</option>
         </select>
     </div>
{% end %}

我对jQuery不是很好,想问你如何编写一个函数,以便当一个人点击编辑并填写表格时,下拉默认设置group为每个下拉菜单的默认值?

希望我能够正确地解释自己。

编辑:我希望 selected="selected" 位于 group1、group2 或 group3 上,具体取决于它是什么group

4

1 回答 1

4

使用{% if condition %}{% end %}模板标签,您可以这样做:

{% for group in doc.groups %}
     <div class="groupMenu">
         <select name="gName0" id="groupDropDown">
              <option {% if group == 'group1' %}selected="selected"{% end %} value="group1">
                  Group 1
              </option>
              <option {% if group == 'group2' %}selected="selected"{% end %} value="group2">
                  Group 2
              </option>
              <option {% if group == 'group3' %}selected="selected"{% end %} value="group3">
                  Group 3
              </option>
         </select>
     </div>
{% end %}

如果您想使用 jQuery 来执行此操作,您可以将值放在隐藏的输入字段中:

<input class="default_group" type="hidden" value="{% group %}" />

然后您可以在 jQuery 中获取该值,并设置选定的选项:

var group = $('input.default_group').val();
$('option[value="'+ group +'"]').attr('selected', 'selected');​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​

这是演示 this 的 jsfiddle

于 2012-12-10T01:51:00.167 回答