4

jQueryMobileアプリに動的にページを挿入しています。フォーム要素を除いて、すべてが正常に機能しています。挿入されたページにあるフォーム要素では、data-role="none"が無視されているようです。

<p><input data-role='none' type='radio' name='type' id='type' value='none'/>None</p>
<p><input data-role='none' type='radio' name='type' id='type' value='segments'/>Market Segments</p>
<p>&nbsp; &nbsp; &nbsp <select data-role='none' id='segments'><option value='all'>All</option></select></p>

ラジオボタンは、いくつかの厄介なフォーマットではありますが、通常のラジオボタンとしてレンダリングされます。選択ボタンは通常のドロップダウンとして表示されますが、代わりにjQueryMobileドロップダウンとしてレンダリングされています。

ページが挿入される方法は次のとおりです。

var t = results.rows.item(i).body;
var n = results.rows.item(i).name;
$("#"+n).remove();
$("body").append(t);
$("#"+n).appendTo($.mobile.pageContainer);
$("#"+n).attr('data-url',$("#"+n).attr("ID")).trigger('create');

挿入されていないページのフォーム要素は正常に機能しています...何かアイデアはありますか?

4

2 に答える 2

3

デフォルトでは、jQuery Mobile はフォーム要素を自動拡張します。JQM にそれらを無視するdata-role="none"ように指示したい場合は、コンテナに属性を追加できますが、設定する必要$.mobile.ignoreContentEnabled = trueもあります。これは、デフォルトでは JQM がdata-role="none"属性をチェックしないためです (不必要に毎回チェックを実行しないようにするため)。

mobileinitでを設定する必要があることに注意ignoreContentEnabledしてください。 event

于 2012-10-25T18:56:22.010 に答える
0

これらのフォーム コントロールを手動で初期化しているかどうかを確認する必要があります。これらのコントロールを注入しているため、selectmenu('refresh') メソッドを呼び出している可能性もあります。これらの呼び出しを削除するだけで、すべて正常に動作するはずです。

于 2012-12-28T03:20:17.183 に答える