質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Movable Type

シックス・アパートが開発・提供する,ブログで用いられることの多いCMS製品

Q&A

解決済

1回答

885閲覧

MTAppjQuery(MTAppDynamicSelect)の使い方

ymmthrak0504

総合スコア7

Movable Type

シックス・アパートが開発・提供する,ブログで用いられることの多いCMS製品

0グッド

0クリップ

投稿2019/08/19 09:09

javascript

1(function($){ 2 3<mt:SetVarBlock name="entrydropdown_item"> 4 <mt:Entries include_blogs="9" lastn="0"> 5 '<mt:EntryTitle escape="javascript">(ID:<mt:EntryID>)'<mt:EntriesFooter><mt:Else>,</mt:EntriesFooter> 6 </mt:Entries> 7</mt:SetVarBlock> 8$('#customfield_entrydropdown').MTAppMultiForm({ 9 'type': 'select', 10 items: [<mt:Var name="entrydropdown_item" compress="3">] 11}); 12 13});

こちらのコードを用いて以下のような形のドロップダウンリストを実現したく、

html

1<select name="entrydropdown"> 2 <option value="3">エントリータイトル(ID:3)</option> 3 <option value="2">エントリータイトル(ID:2)</option> 4 <option value="1">エントリータイトル(ID:1)</option> 5</select>

しかしながら、MTAppMultiFormではoptionのvalueとテキストを分けることはできないとのご指摘をいただき、
MTAppDynamicSelectの利用をご提案いただきました。

そこで冒頭のコードをMTAppDynamicSelectを用いたものに書き換えたく検証を重ねております。
(本来でしたらMTAppjQueryのドキュメントを参照すれば良いのですが、諸事情によりドキュメントを閲覧できずモディファイアを手探りで試している状況です。)

知見のある方などいらっしゃいましたらご鞭撻いただけると大変助かります。

よろしくお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

MTAppDynamicSelectを使う方法ではありませんが、下記でいかがでしょうか。
まずMTAppMultiFormを用いて、valueの値(記事ID)でドロップダウンリストを生成し、
その後、各optionのテキストだけを書き換えます。

Javascript

1(function($){ 2<mt:Entries include_blogs="9" lastn="0"> 3 <mt:EntryID setvar="entry_id"> 4 <mt:SetVarBlock name="entry_data" key="$entry_id"><mt:EntryTitle escape="javascript">(ID:<mt:EntryID>)</mt:SetVarBlock> 5</mt:Entries> 6 7$('#customfield_entrydropdown').MTAppMultiForm({ 8 'type': 'select', 9 items: [<mt:Loop name="entry_data">'<mt:Var name="__key__">'<mt:Unless name="__last__">,</mt:Unless></mt:Loop>] 10}); 11 12<mt:Loop name="entry_data" compress="1"> 13$('#mtappmltform-customfield_entrydropdown option[value="<mt:Var name="__key__">"]').text('<mt:Var name="__value__">'); 14</mt:Loop> 15 16});

投稿2019/08/23 08:26

82yuki

総合スコア24

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

ymmthrak0504

2019/09/09 00:12

お返事遅くなって申し訳ありません。 ありがとうございました、いただいたサンプルを用いて実現することができました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問