0

我有一个电话号码列表和对它们运行的​​多种功能。

  1. 编辑电话号码。
  2. 删除电话号码。

所以我使用了上下文菜单并将其设置为列表,因为我有多个电话号码并且必须为每个电话号码动态设置属性。

我在帮助程序中有一个格式 phonenumber 函数,它显示电话号码,其代码如下:-

strOutput = string.Format("<span id=\"spanPhoneId-{0}\">{1}.{2}.{3} ( {4} ) <span id=\"divPopupMenu\" class=\"context-menu-{0}\"><a href=\"#\" title=\"Open Menu\" onclick=\"initializeContextMenuItemForLists({0})\">[ &Delta; ]</a></span><div id=\"divPopupMenuItems-{0}\" style=\"display: none;\"><ul class=\"bullet-arrow\"><li><a href=\"#divEditSpecifiedPhoneNumber\" class=\"inline UpdateLink phoneIdentity\" title=\"Edit Phone Number\">Edit the phone number</a></li><li><a href=\"#divRemoveSpecifiedPhoneNumber\" class=\"inline UpdateLink phoneIdentityDeletion\"data-phonenumber=\"{1}.{2}.{3} ( {4} )\" title=\"Remove Phone Number\">Remove this phone number</a></li></ul></div></span>", phoneNumber.PhoneId, phoneNumber.AreaCode, phoneNumber.PhoneNo.Substring(0, 3), phoneNumber.PhoneNo.Substring(3, 4), phoneNumber.PhoneNumberTypeInfo.PhoneNumberTypeName, PersonId, CompanyId);

初始化菜单的代码如下:-

function initializeContextMenuItemForLists(intParameterId) {
var id = "#divPopupMenuItems-" + intParameterId;
jQuery.contextMenu({
    selector: '.context-menu-' + intParameterId,
    trigger: 'left',
    autoHide: true,
    items: jQuery.contextMenu.fromMenu(jQuery(id))
});
}

问题是,当我编辑电话号码并尝试获取数据属性时,它只是旧的。数据属性不会在上下文菜单中更新。

我该如何解决这个问题?

4

1 回答 1

0

我认为这可能会帮助一些稍后会查看我的问题的用户:-

我尝试破坏通过以下代码生成的上下文菜单的实例:-

// Destroy the context menu selector already created for the particular instance
$.contextMenu("destroy", ".context-menu-one");

这对我来说效果很好。

希望这对其他人有帮助。

于 2013-05-15T19:14:27.703 回答