我正在jQuery中生成带有选项元素的选择列表.简化它看起来像这样:
var sel = $("<select>");
$.each(data, function(i, v){
$("<option>").attr({ "value": i }).html(v).appendTo(sel);
});
Run Code Online (Sandbox Code Playgroud)
然后我想要一个选项.通常我会做类似的事情:
$(sel).val(1);
Run Code Online (Sandbox Code Playgroud)
但是该选项没有选定的属性.
$(sel).html() 给出类似的东西:
<option value="1">1</option>
<option value="2">2</option>
Run Code Online (Sandbox Code Playgroud)
这就是我的预期:
<option value="1" selected="selected">1</option>
<option value="2">2</option>
Run Code Online (Sandbox Code Playgroud)
我尝试了这种方法(与使用.val()相同的结果):
$.each(data, function(i, v){
var attrs = { "value": i };
if(i == 1){
attrs.selected = "selected";
}
$("<option>").attr(attrs).html(v).appendTo(sel);
});
Run Code Online (Sandbox Code Playgroud)
但我找到工作的唯一方法是:
$.each(data, function(i, v){
var el = "<option>";
if(i == 1){
el = '<option selected="selected"></option>';
}
$(el).attr({ "value": i }).html(v).appendTo(sel);
});
Run Code Online (Sandbox Code Playgroud)
还有其他或更好的方法吗?
我正在寻找两个易于在管理中使用的Django模型字段,并提供谷歌地图交互界面.
LocationField
存储经度和纬度,管理员用户点击地图以标记位置.
AreaField
存储逗号分隔的位置字符串,管理员用户在地图上创建形状以标记区域.
我找到了其中一些,但你会推荐哪一个满足上述要求?
当然还有geodjango,但这个项目似乎有点矫枉过正.