我正在使用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);
}
答案 0 :(得分:2)
我会使用ajax加载json数据并在我需要的时候填充选择列表。
它看起来像这样:
[{ user: "bob", age: 40 }]
$.get("users.json",function(data){
$.each(data,function(i,v){
$("<option/>").html(v.user).val(v.age).appendTo("select#usernames");
});
});