MTAppjQuery には、一つのメソッドで「ラジオボタン」「チェックボックス」「ドロップダウンリスト」「ドロップダウンリスト(複数選択)」という4種類のフォームを作ることができる MTAppMultiForm という便利なメソッドがあります。
しかし、MTAppMultiForm で作られるドロップダウンリストは、リストに表示される項目名と保存される値が同じであるため、その項目名を変更すると選択状態が外れてしまいます。
そのようなときは、MTAppDynamicSelect というメソッドを使えば、表示する項目と保存される値とを別々にすることができます。
例えば、ブログA(ID:1)のキーワード欄を、ブログB(ID:2)の記事一覧のドロップダウンリストにしたい場合は、下記のようにすることで、ドロップダウンリストにはブログBの記事タイトルを表示しつつ、フィールドには記事IDを保存することができます。
こうすることで、仮にブログBの記事タイトルを変更したとしても、選択状態には影響しなくなります。
<mt:SetVarBlock name="items">
<mt:Entries include_blogs="30" lastn="5">
<mt:EntryID>|<mt:EntryTitle escape="javascript"><mt:EntriesFooter><mt:Else>,</mt:EntriesFooter>
</mt:Entries>
</mt:SetVarBlock>
(function($){
$("#keywords").MTAppDynamicSelect({
dynamic: false,
text: '<mt:Var name="items" compress="3">',
separateMode: true
});
})(jQuery);
MTAppDynamicSelect の詳細は、下記のページでご確認ください。