Last modified date : 2015/05/15

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 の詳細は、下記のページでご確認ください。

MTAppDynamicSelect