获取点击列表视图项的自定义数据属性;弹出;JQM.
Get custom data attribute of clicked listview item; popup; jqm
我有一个动态生成的列表视图。我为每个列表元素分配一个自定义数据属性。单击列表项时,它将调用弹出窗口。
<a href="#popupMenu" data-name='.$myrow[id].' data-rel="popup">View</a>
//我的弹出窗口
<ul data-role="listview" data-inset="true" data-theme="b">
<li data-role="divider" data-theme="a">Options</li>
<li><a id="one" onclick="func1();" href="#">Function one</a></li>
<li><a id="two" href="#">Remove</a></li>
<li><a id="three" href="#">Cancel</a></li>
</ul>
我会知道检索调用弹出窗口的列表视图项的自定义数据属性的正确方法。
//myjavascipt
var func1 = function() {
//display the custom data attribute from the listview click here
alert();
};
谢谢。
我发布一个基于 JQuery 的答案只是因为你在你的问题上包含了 JQuery 标签,所以,我假设你的项目已经有了 JQuery。所以:
您可以简单地使用 .attr()
方法。
如果该"data"属性位于锚标记上,则应该非常简单(假设所有锚标记的onclick都指向"func1()":
//display the custom data attribute from the listview click here
alert($(this).attr('data-role'));
alert($(this).attr('data-name'));
alert($(this).attr('data-rel'));
这可能适合您:
<a id="one" onclick="func1(this)" href="#">Function one</a>
var func1 = function (target) {
alert($('a').filter(function () {
return $(this).attr('href') === '#' + $(target).closest('ul').parent().attr('id');
}).data('name'));
}
需要通过点击侦听器传递事件
<li><a id="one" onclick="func1(event);" href="#">Function one</a></li>
使用事件获取所需信息
function func1(e){
var role = e.target.parentNode.parentNode.getAttribute("data-role");
document.querySelector('#popupMenu').innerHtml = role;
}
下面是一个工作示例:http://codepen.io/positlabs/pen/DAtCL
相关文章:
- 选项中包含数据的自定义标记
- 数据表自定义筛选
- 如何正确地将数据从自定义服务传递到角度控制器
- Typeahead.js未显示预取数据的自定义模板
- C3js 行数据,自定义颜色
- 带有数据表自定义搜索框的 AngularJs
- 如何从高图表访问数据中自定义属性的值
- C#等价于Python属性自定义/Javascript对象文本
- 用于搜索JSON数据的自定义筛选器
- 从 jQuery AJAX 请求返回的数据创建自定义 JavaScript 对象
- 如何将数据从自定义指令视图传递到控制器
- 基于Openlayers 3中提取的数据应用自定义图标
- jQuery dataTables-基于原始行数据的自定义筛选
- 如何在Angular中基于属性自定义指令模板?
- jQuery数据表自定义搜索框的行为
- 如何将数据从自定义的angular元素传递给控制器
- 发送非空json数据作为自定义格式的查询字符串
- NodeJS/Express:隐式地将数据从自定义中间件推送到渲染调用
- CKEditor -获取编辑器数据和自定义小部件
- 读取数据属性=未定义