从 JSON 数据动态创建 Jquery 移动导航栏
Dynamically create Jquery Mobile Navbar from JSON data
我正在尝试从提供 json 数据的 Web API 获取的数据动态创建一个导航栏。代码如下:https://gist.github.com/2962277如果我使用:
<div data-role="navbar">
<ul>
<li><a href="a.html">One</a></li>
<li><a href="b.html">Two</a></li>
</ul>
</div>
直接在 HTML 代码中工作正常,但这不是我想要的。我希望能够从数据中创建列表元素,就像 gist 中显示的代码一样。有人能指出我正确的方向吗?
一旦你为导航栏小部件炮制了 HTML,你只需在小部件上调用.trigger('create')
:
var myNavbar = $('<div data-role="navbar"><ul><li><a href="a.html">One</a></li><li><a href="b.html">Two</a></li></ul></div>');
$('#some-container').append(myNavbar).trigger('create');
这是一个演示:http://jsfiddle.net/Jde95/
这将触发 jQuery Mobile 初始化小部件。
例如:
var url = "http://23.21.128.153:3000/regions.json";var jsonresults;
$.getJSON(url,function(data){
var output = [];
$.each(jsonresults, function(i,v){
output.push('<li><a href="' + jsonresults[i].link + '">' + jsonresults[i].name + '</a></li>');
});
$('#main-content').append('<div data-role="navbar">' + output.join('') + '</div>').trigger('create');
});
请注意我是如何炮制 HTML 并使用 .append()
函数的。
我遇到了同样的问题(我一直在重新生成导航栏,具体取决于获取的数据),我的解决方案如下:
var navBar = '<div id="invNavBarAction" data-role="navbar" data-iconpos="left"><ul>';
navBar += '<li>MANY LINES AS YOU NEED</li>';
navBar += '</ul></div>';
$('#invNavBarAction').remove();
$('#invNavBarContainer').append($(navBar));
$('#invNavBarAction').navbar();
.HTML:
<div id="invNavBarContainer">
<div id="invNavBarAction" data-role="navbar" data-iconpos="left"></div>
</div>
相关文章:
- Angular UI&引导程序:点击链接时折叠移动导航栏
- 铬移动;导航.地理位置不起作用
- 移动导航菜单不起作用(HTML,CSS和JQuery)
- 我可以'我似乎没有得到我的网站'移动导航开始工作
- Jquery/Javascript在移动导航和滑块时发生冲突
- Wordpress 移动导航菜单:菜单出现在 iPhone 和其他移动设备上,但不是 iPad
- 具有 100% 窗口高度的移动导航栏,无论内容如何
- 从 JSON 数据动态创建 Jquery 移动导航栏
- 移动导航在调整大小时未正确定位
- Zurb Foundation Top Bar & jQuery - 检查移动导航是否处于活动状态
- Jquery 移动导航栏填充错误:太窄
- Jquery移动导航栏在会话登录后未激活(Rails)
- 移动导航栏(无jquery)
- 更改引导程序后的移动菜单切换错误'的移动导航断点
- 为Jquery移动导航栏设置不同的颜色
- Jquery移动导航条轮廓/边框颜色
- 响应式移动导航栏(导航)jquery/javascript
- Jquery点击功能在移动导航不工作
- 画布外移动导航,副作用最小
- Jquery移动导航模型