【发布时间】:2015-05-07 19:42:53
【问题描述】:
我有一个twitter-bootstrap select,我正在尝试使用 jquery 进行迭代以构建一个google-maps 标记列表(纬度/经度/建筑物 ID 与列表一起存储)。在准备好文档时,我想迭代列表并从每个 li 项目中提取纬度/经度,并使用该位置创建一个标记:
<select id="buildings" class="selectpicker" data-width="100%" data-live-search="true"><!-- style="border-radius:0px;" -->
{% for category in buildings %}
<optgroup label="{{ category.category.asBuildingCategory }}">
{% for building in category.buildings %}
<option data-content="<span data-latitude='{{building.fLatitude}}' data-longitude='{{building.fLongitude}}' data-build-id='{{building.ixBuilding}}'>{{building.asBuildingName}}</span>"></option>
{% endfor %}
</optgroup>
{% endfor %}
</select>
这是生成的代码在浏览器中的样子:
我可以成功地为每个菜单项附加一个 onclick,但我似乎无法通过 jquery 迭代 select 列表。
到目前为止,我已经尝试过这个:
$(document).ready(function () {
$(".dropdown-menu.inner.selectpicker li").each(function () {
alert($(this));
});
});
但它似乎没有击中任何东西。但是此代码适用于添加点击侦听器:
$(document.body).on('click', '.dropdown-menu.inner.selectpicker li', function () {
debugger;
var latitude = $(this).find("span").data('latitude');
var longitude = $(this).find("span").data('longitude');
var buildingID = $(this).find("span").data('build-id');
});
编辑 这是我的 jquery 使用此代码发现的:
var test = $(".dropdown-menu.inner.selectpicker li");
它只是获取整个文档而不是列表元素
【问题讨论】:
-
你不只是缺少点吗? “.dropdown-menu.inner.selectpicker li”而不是“dropdown-menu inner selectpicker li”
-
我以前有点,但仍然无法正常工作(在闲逛时忘记重新添加它们)
-
我刚刚尝试了完全相同的代码,它工作正常。控制台(开发工具)上的任何错误?好吧,我猜你已经检查过控制台了......
-
@john 这里也一样。我也刚刚对其进行了测试,它工作正常:)。
-
那我明天回来试试重启VS
标签: javascript jquery html twitter-bootstrap