如何在HTML中存储数据库项列表?

时间:2014-09-23 20:33:02

标签: jquery python html django

我正在使用Django框架开展项目。我用数据向用户表显示。每行旁边都有一个"编辑"按钮。当用户单击此按钮时,在行的一个单元格中,将出现带有用户名的选择框。目前,为了给这个HTML select元素提供选项,我将所有用户名存储在div元素的data属性中,当用户点击这个"编辑"按钮,我从此数据属性获取列表以创建选项。在我看来,它不是正确的解决方案。有没有更好的解决方案来存储页面中的用户名,以便我可以在需要时获取它们? 目前的代码:

<div id="usernames" data-usernames="{{users |safe}}" class="hidden"></div>
(...)

var divWithUsernames = document.getElementById("usernames");
var usernames = (divWithUsernames.getAttribute("data-usernames").replace(/&(l|g|quo)t;/g, function (a, b) {
    return {
        l: '<',
        g: '>',
        quo: '"'
    }[b];
}));
for (var i = 0; i < usernames.length; i++) {
    var val = usernames[i];
    var option = $("<option />", {value: val, text: val});
    option.appendTo($select);
}

1 个答案:

答案 0 :(得分:2)

我会使用ajax加载json数据并在我需要的时候填充选择列表。

它看起来像这样:

JSON“users.json”

[{ user: "bob", age: 40 }]

jQuery的:

$.get("users.json",function(data){
  $.each(data,function(i,v){
     $("<option/>").html(v.user).val(v.age).appendTo("select#usernames");
  });
});