以下な感じのselectとかを出力させとく。
仮に/mt-select.html
に設置するものとする。
(外部mtから書きだしてもいいし、あらかじめ準備しておいても)
<select>
<option>[select]</option>
<option>A</option>
<option>B</option>
<option>C</option>
</select>
CMSContextプラグインを使って「edit_entry.tmpl」をカスタマイズ。 以下のjs(jQuery文)を加える
var inputField = jQuery('#〜'); //入力対象のinputフィールド
inputField.each(function() {
jQuery(this).after('<div style="padding-top:10px;"></div><span style="display:block; padding-top:5px; color:#f00; ">Select Type.</span>'); //入力欄下部に用意したselectをいれるdivを生成
var rand = Math.random();
jQuery(this).next().load('/mt-select.html?rand=' + rand, function() { // selectのhtmlを読み込む
jQuery(this).find('select').css({
'backgroundColor' : '#fff',
'height' : 'auto',
'width' : '100%'
}).change(function() {
var val = jQuery(this).find(':selected').text();
if (val != '[select]') { //なんか選択されている時
inputField.val(val);
} else { //未選択状態の時はなにもしない
inputField.val('');
}
});
if ( inputField.val() ) {
var val = inputField.val();
jQuery(this).find('option').each(function() {
var text = jQuery(this).text();
if ( val == text ) {
jQuery(this).attr('selected','selected');
}
});
}
});
});