javascript - 为什么获取ID时数据方法不能正常工作?

标签 javascript jquery jquery-mobile

我正在尝试使用 jquery 的数据方法获取 Id。我看到一个工作正常的示例。 http://jsfiddle.net/4ajeB/6/ 在此示例中,当用户单击“添加”按钮生成动态行时。右侧“:”上有一个图标,它会打开弹出窗口。单击编辑时,它会给出行的 ID。实际上,在此示例中,开发人员使用此

$('.edit_h').data('originalId', id);

当我在示例中使用相同的东西时,它给出了最后一个值。换句话说,如果您生成三行并单击行的任何图标,它仅显示“tc_3”。我也使用了相同的概念。但我不知道为什么我的输出出错了。

http://jsfiddle.net/4ajeB/7/

$('.edit_h').click(function(){

    alert("edit ID:"+$(this).data('originalId'));

})

最佳答案

问题是您正在调用:

$('.edit_h').data('originalId', id);

每次添加测试用例时。由于您只有一个弹出菜单,因此每次都会替换菜单上的数据属性,因此最后添加的一个将始终存在。

数据属性应该位于列表项而不是弹出窗口上,然后当您单击列表项时,检索 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'));    
})

Updated FIDDLE

关于javascript - 为什么获取ID时数据方法不能正常工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24088192/

相关文章:

javascript - 如何使用箭头键和悬停事件将 css 应用于下拉表中的链接?

javascript - 滑动、向左滑动、向右滑动事件不会在图像上触发

html 的 jQuery 移动结构

javascript 按字面意思取# 标记

javascript - Meteor - 发布按个性化分数排序的集合

javascript - 为什么jqgrid上的文本框不响应鼠标点击?

iphone - 使用移动设备 UUID 登录是个好主意吗?

php - 通过ajax创建的post变量

javascript - 在Javascript中,是否可以在运行时访问字段的注释数据?

jquery - 是否可以在ajax调用中指定端口