MTAppRemoveVal

入力欄に×のクリアボタンを付けるメソッド。$.fn(個別の欄に付ける)と静的メソッド(記事/ページ編集のメインカラムへ一括適用)の2つがある。ボタンを押すと値が空になる。

入力欄(input / textarea)に × のクリアボタンを付けるメソッドです。ボタンを押すと、その欄の値が空になります。入力済みの値をすばやく消したいときに便利です。

$.fn(個別の入力欄に付ける)と、静的メソッド(記事/ページ編集画面のメインカラムへ一括で付ける)の 2 つがあります。

構文

// 個別の入力欄に付ける($.fn プラグイン)
$(selector).MTAppRemoveVal();

// 記事/ページ編集画面のメインカラムの入力欄へ一括で付ける(静的メソッド)
$.MTAppRemoveVal();

パラメータ

なし。

戻り値

  • $(selector).MTAppRemoveVal() … {jQuery} 対象要素(チェーン可能)。
  • $.MTAppRemoveVal() … なし(undefined)。

保存される値

通常は保存される値を変更しません。× ボタンを押すと対象欄の値が空('')にクリアされ、空のまま保存されます。

使用例

// 特定のカスタムフィールドにクリアボタンを付ける
$('#customfield_foo').MTAppRemoveVal();

// 記事編集画面のメインカラムの可視な入力欄すべてに付ける
$.MTAppRemoveVal();

user.js での記述例

user.js(「デザイン → user.js を編集」)に書く場合は、mtappVars.screen_id で画面を判定して呼び出します。

(function ($) {
    if (typeof mtappVars !== 'object') return;
    if (mtappVars.screen_id === 'edit-entry') {
        $('#customfield_foo').MTAppRemoveVal();
    }
})(jQuery);

生成される HTML

対象の入力欄は div.mtapp-remove-val でラップされ、クリアボタンの画像が追加されます。

<div class="mtapp-remove-val" style="position: relative;">
    <input id="customfield_foo" type="text" style="padding-right: 16px;">
    <img class="mtapp-remove-val-btn" alt="" src="<静的パス>images/cancel-gray.png" style="top: …px;">
</div>

ボタン(img.mtapp-remove-val-btn)をクリックすると、入力欄の値が空になり、入力欄にフォーカスが移ります。

補足

  • $.MTAppRemoveVal()(静的)は、記事編集(edit-entry)/ページ編集(edit-page)画面でのみ動作し、#sortable 内のフィールドの表示中の input:texttextarea を対象にします。
  • クリアボタンは入力欄の縦中央あたりに重ねて配置されます(入力欄の高さから位置を計算)。
  • リッチテキスト化した textareaMTAppApplyTinyMCE などでエディタにした欄)に付けると、ボタンは元の textarea の値だけを消し、エディタ側の表示には反映されない点に注意してください。

関連

  • $.fn.MTAppFieldSplit — 1 つの入力欄を複数の欄に分割する。
  • MTAppInlineEdit — 入力欄をインラインエディットにする。