検索ボックス

検索ボックスは、角の丸い入力域で、文字列が入力されるとクリアのために「x」アイコンが現れる新しい種類のHTMLです。マークアップには input 要素に data-role=“fieldcontain” 属性を指定してください。検索ボックスに指定可能な属性についてはdata属性リファレンスを参照してください。

ラベルは label 要素に for 属性で input 要素のIDを指定することでセマンティックにつなげられます。それらをひとつの div で囲み data-role=“fieldcontain” 属性を指定してグループ化するようにしてください。



このコードにより、次のような基本的な検索ボックスが生成されます。デフォルトスタイルでは、親要素の幅いっぱいに表示され、ラベルは他の行に分けられた状態になります。

検索ボックスを data-role=“fieldcontain” 属性を持ったコンテナ要素で囲み、横幅のあるフォーム上でもスタイルを向上させることもできます。

この検索ボックスは、次のように出力されます。

スウォッチを適用すると、次のようになります。

プラグイン textinput の呼び出し

このプラグインは、自動的に type=“search” の input 要素を探して初期化します。この時 data-role 属性の指定は不要です。しかし、もし他のjQueryプラグイン同様に手動で特定の要素に textinput プラグインを適用したい場合、次のようにします。

$('.mySearchInput').textinput();

オプション

テキスト入力プラグインは、次のようなオプションを持ちます。

initSelector CSS selector string

default: "input[type='text'], input[type='search'], :jqmData(type='search'), input[type='number'], :jqmData(type='number'), input[type='password'], input[type='email'], input[type='url'], input[type='tel'], textarea, input:not([type])"

ここには、自動初期化処理により textinuputs プラグインになるセレクタを定義します。この値を変更するにはmobileinitイベントを使います。

$( document ).bind( "mobileinit", function(){
   $.mobile.textinput.prototype.options.initSelector = ".myInputs";
});
theme string

default: null, inherited from parent

ウィジェットの色(スウォッチ)を指定します。テーマで定義されたスウォッチをあらわすaからzまでのアルファベットが指定できます。デフォルトでは、個別に設定されない場合、親要素のス ウォッチ指定を引き継ぐようになっています。このオプションはdata属性でも次のように表現できます: data-theme="a"

$('.selector').textinput({ theme: "a" });

メソッド

テキスト入力プラグインは、次のようなメソッドを持ちます。

enable 使用不可状態のテキスト入力を使用可能にする。
 $('.selector').textinput('enable');     
disable テキスト入力を使用不可状態にする。
 $('.selector').textinput('disable');      

イベント

直接 input 要素イベントにバインドしてください。jQuery Mobileによる仮想的なイベント、もしくは change, focus, blur などのような標準的なJavaScriptのイベントにバインドできます。

$( ".selector" ).bind( "change", function(event, ui) {
  ...
});

テキスト入力プラグインは、次のような独自イベントも持っています。

create triggered when a text input is created
$( ".selector" ).textinput({
   create: function(event, ui) { ... }
});