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

why data method not working properly while getting ID?

本文关键字:常工作 工作 不能 方法 数据 获取 ID 为什么      更新时间:2023-09-26

我试图使用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);

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

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

更新strong>小提琴