2012-02-28 13 views
3

私は最初に無効になっている入力テキストボックスを持っています。入力テキストボックスを有効にしてからフォーカスを合わせる - jQuery Mobile

<input type="text" name="count" id="count" value="0" disabled="true" data-theme="b" /> 

私はラジオボタンをチェックすると、私はテキストボックスを有効にし、集中したいが、私はそれがテキストボックスを有効にし、他のいくつかのテキストボックスを焦点を当てて、ラジオボタンをクリックしたとき。テキストボックスは最初は無効になっていて、無効な入力には集中できないため、動作しないと思います。

$(":input[@name='radio']").live('change', function() { 
    $(":input[@name='count']").removeAttr("disabled").focus(); 
}); 

テキストボックスを有効にしてフォーカスを設定するにはどうすればよいですか?それは私のために正常に動作し

$('#count').textinput('enable').focus(); 
+0

$( ":入力[名前@ = '数']")上の

$("#mainPage").on("pageshow", function (e) { $('#searchField').focus(); }); 

removeAttr( "無効")。 $( ":input [@ name = 'count']")。 –

+0

最初に無効なattrを削除します。 $( ":input [@ name = 'count']")のようなものです。 –

+0

いいえ...それは動作しません... –

答えて

3

参照テキスト入力ボックスが、私が試している間、それは集中していなかった:

01私はこれをしようとしたとき

はしかし、それが働いた:

$("#count").removeAttr("disabled").focus(); 

なぜこれが起こっている私が説明することはできません...


編集: それは持つに何かを持っていますセレクタも使用できます:

$("input[name='count']").removeAttr("disabled").focus(); 

しかし、私はまだ最初のセレクタを使用する理由を理解できません、テキストボックスが有効になりますが、フォーカスされていません...

+1

jquery-mobileを使用している場合は、 countという名前の入力が2つ以上あります(これはjqMobileを使用すると簡単に見逃せます)。通常、ENTIREサイトは「ページ上」で、jqMobileはセクシーなアニメーションを処理して同じページの要素間を移動します。あなたのIDはよりユニークであるように見えます(つまり、jQueryはID検索のために複数の結果を返さないことを知っています)ので、あなたのためにうまくいきました:) –

+0

これは問題ではありません...私のテキスト入力の名前はユニークです、私はちょうど問題を簡素化するためにここで "カウント"と呼ば...私が言った "いくつかの他のテキストボックス"は、別の名前を持っていると、常にページ上の最後の入力テキストボックスです。 .. –

1

てみ

が...それは、セレクタと間違って何かがあった場合に表示されます

http://jsfiddle.net/kunalvashist/LFXd2/

+0

私はすでに試みましたが、Firebugコンソールでこのエラーが発生します: "キャッチされない例外:初期化の前にtextinputのメソッドを呼び出すことができません。その他の提案? –

+0

JavaScriptを使用するdocument.getElementById( "count")。focus();私は既に上記のjqueryモバイルコードを使用しており、すべてのブラウザで正常に動作しています。 – Hkachhia

+0

良い答えそれは3時間以上の私の問題を解決しました... jqueryモバイル用の良い解決方法 – Anup

0

コードの下

+1

あなたの例ではjQuery Mobileを使用していません... –

0

あなたはそれをpageshowで行う必要があります。 。

<body class="ui-mobile-viewport ui-overlay-c"> 
    <div data-role="page" data-add-back-btn="true" id="mainPage"> 
     <div data-role="header" data-theme='b'> 
      <input type="text" id="searchField" placeholder="Search" /> 
     </div> 
    </div> 
</body 
関連する問題