在上下文菜单中更新自定义数据属性的值

时间:2013-05-12 17:13:45

标签: jquery asp.net-mvc-3 contextmenu

我有一个电话号码列表和多个功能。

  1. 编辑电话号码。
  2. 删除电话号码。
  3. 所以我使用了一个上下文菜单并将其设置为列表,因为我有多个语音,并且必须为每个语音动态设置属性。

    我在帮助程序中有一个格式语音功能,显示电话号码及其代码如下: -

    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))
    });
    }
    

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

    我该如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

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

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

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

这对我很有效。

希望这对其他人有帮助。