我正在尝试使用jquery的数据方法获取Id。我看到一个工作正常的示例。 http://jsfiddle.net/4ajeB/6/ 在此示例中,当用户单击添加按钮生成动态行时,右侧有图标":"它打开弹出.on点击编辑它给出行的id。实际上在这个例子中开发人员使用这个
$('.edit_h').data('originalId', id);
当我在我的例子中使用时,它给出了最后一个值。换句话说,如果你生成三行并点击任何行的图标,它会显示" tc_3"我也使用了同样的概念。但我不知道为什么我的输出出错了。
$('.edit_h').click(function(){
alert("edit ID:"+$(this).data('originalId'));
})
答案 0 :(得分:1)
问题是你正在打电话:
$('.edit_h').data('originalId', id);
每次添加测试用例。由于您只有一个弹出菜单,因此每次都会替换菜单上的数据属性,因此添加的最后一个将始终存在。
data属性应该在listitem而不是弹出窗口,然后当你单击listitem时,检索id并将其写入菜单数据属性。
$(document).on("click", ".edit_delete_copyFunctiontiy_h", function (e) {
var id=$(this).data('originalid');
$('.edit_h').data('originalid', id);
$("#Mainnavpanel").popup("open", {
positionTo: $(this)
});
});
$('.edit_h').click(function(){
alert("edit ID: "+ $('.edit_h').data('originalid'));
})
更新了 FIDDLE