在HTML select inpu中显示Google App Engine数据存储值为所选选项

2024-10-04 09:26:12 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个值存储在googleappengine数据存储中,从下拉选择控件中选择。在

但是每次加载html页面时,它都不会显示存储的数据存储值。相反,它显示原始的下拉选择,但没有选择任何选项。在

HTML格式:

<select name="items">
  <option>Select</option>
</select>

JavaScript代码:

^{pr2}$

在主.py公司名称:

# assume model s
user = db.StringProperty()
...
updated_user = self.request.get('items')
s.user = updated_user
s.put()

注意,我只在数据存储中存储用户(值)部分(例如a),但我希望使用名称部分(例如mra)。这可能吗?在

非常感谢!在

更新: 很抱歉不清楚。我使用的jinja2带有一个模板值p,它来自于模型s

<select name="items">
    <option>{{ p.user }}</option>
</select>

还尝试在jQuery中输入以下内容:

var tlist = '<option>{{ p.user }}<\/option>';

但是没有效果(好吧,它在瞬间显示了用户(价值)部分)。实际上,我想问一下,在我的HTML和jQuery中,googleappengine数据存储的值应该放在什么地方。谢谢。在

更新2: 我把JavaScript改成

(function($) {
    $.fn.changeType = function() {
        var data = [{"user":"a","name":"Mr A"},
                    {"user":"b","name":"Miss B"},
                    {"user":"c","name":"Mrs C"}];
        var tselected = $("select option:selected").val();
        var tlist = '<option>Select<\/option>';
        $.each(data, function(i,d){
    if (d.user === tselected)
                tlist += '<option value="' + d.user + 'selected="selected">' + d.name + '<\/option>';
            else
                tlist += '<option value="' + d.user + '">' + d.name + '<\/option>';
        });
        $("select", this).html(tlist);
    };
})(jQuery);

但tselected似乎不返回当前选定的值。有什么想法吗?谢谢。在


Tags: 数据namevarhtmlitemsfunctionjqueryselect