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 に答える