将 HREF 添加到 JQuery 动态填充的选择
Adding a HREF to a JQuery Dynamically Populated Select
我有一个基于表单的菜单,它会自动使用主导航UL的内容填充选择选项。它奇妙地增加了反映菜单位置的破折号。
但是,它不会使用 UL 中链接的 HREF 填充 。
这是我的代码:
<script>
$(function() {
var options = '<option selected></option>';
$('#primary-nav').find('a').each(function () {
var text = $(this).text(),
depth = $(this).parent().parents('ul').length,
depthChar = '',
i = 1;
for (i; i < depth; i++) { depthChar += '– ';
}
options += '<option>' + depthChar + text + '</option>';
});
$('<select id=''mobile-menu'' />').append(options).appendTo('#mobile-nav');
$("#primary-nav select").change(function() {
window.location = $(this).find("option:selected").val();
});
});
</script>
我需要以某种方式将以下内容添加到上述内容中,以便在单击所选选项时转到 url,而不是基于显示值的 url;
$("#primary-nav a").each(function() {
var el = $(this);
$("<option />", {
"value" : el.attr("href"),
"text" : el.text()
}).appendTo("#primary-nav select");
});
谁能告诉我如何做到这一点?
谢谢。
您可以在当前代码中添加 value 属性:
$('#primary-nav').find('a').each(function () {
var text = $(this).text(),
href = $(this).attr('href'),
depth = $(this).parent().parents('ul').length,
depthChar = '',
i = 1;
for (i; i < depth; i++) {
depthChar += '– ';
}
options += '<option value="'+href+'">' + depthChar + text + '</option>';
});
$('<select id=''mobile-menu'' />').append(options).appendTo('#mobile-nav');
相关文章:
- 预填充选择菜单
- 使用javascript填充选择框
- Angularjs 通过选择不同选择框中的两个字段来填充选择框
- 使用 ajax 填充选择时没有选定的默认选项的问题
- 使用数组中的选项填充选择菜单
- 使用循环填充选择
- 使用 for 循环用逗号分隔的值填充选择元素
- 从另一个选择框并使用数据库连接填充选择框
- 使用对象(JavaScript或jQuery)填充选择下拉列表
- 根据预选,用值填充选择列表
- 用文本输入填充选择输入
- JQuery以基于另一个选择列表填充选择列表
- 如何java脚本填充2选择一个
- jqGrid基于先前的选择填充选择选项
- PHP通过URL自动填充选择框
- Jquery 移动干扰 JavaScript 填充选择框
- 使用 jquery 填充选择选项失败
- 如何使用切换的传单图层组中的标记填充选择
- jquery未填充选择
- 根据更改事件填充选择下拉列表