私はN個のラジオボタンを持つjqueryテンプレートを持っていて、外部のhtmlファイルからテンプレートをロードした後に(jQuery.tmpl()メソッドを使って)値を持つラジオボタンを選択する必要があります。複数の{{if}}文、{{else}}文、重複するコードとセレクタを使わずに、テンプレート内のラジオボタンを選択する良い方法はありますか?あなたが希望ラジオの価値を持っている場合はjquery templatesの選択
1
A
答えて
3
データはどのような形式でサーバーから戻ってきますか? JSON配列の場合は、このようなことができますか?
HTML:
<script id="myTemplate" type="text/html">
<input type="radio" value="${value}"{{if selected}} checked{{/if}}>${name}</input><br />
</script>
<div id="myDiv">
</div>
のjavascript:
var myData = [
{name: 'test 1', value : 'radio1', selected : false},
{name: 'test 2', value : 'radio2', selected : false},
{name: 'test 3', value : 'radio3', selected : true},
{name: 'test 4', value : 'radio4', selected : false}
];
$('#myTemplate').tmpl(myData).appendTo('#myDiv');
1
、あなたのような何かができる:
jInstance.find('input[value=' + desiredValue + ']').attr('checked', true);
これはjInstance
は、テンプレートの新規作成されたコピーであり、かつdesiredValue
ことを正確の値と一致していることを前提としていラジオボタンを選択してください。
値の一部しかわからない場合は、その入力をターゲットにするために使用できる他のjQueryセレクタがあります。
より一般的な「フォームの事前充填」ルーチンをお探しの場合は、プリフィル値のセットとそのフォーマットからテンプレートへのマッピングを保存するための何らかの形式を確立する必要があります。しかし、それは実行することができますが、必ずしもそれほど難しいとは限りません。
関連する問題
- 1. AngularJS - jQuery - Templates
- 2. 選択リストのjquery選択
- 3. jquery templates with play framework
- 4. XSLT apply-templatesのデフォルトの選択は何ですか?
- 5. jQueryの - 選択
- 6. jQueryの選択と非選択画像
- 7. Jquery:選択範囲内の選択
- 8. チェーン選択 - jQuery
- 9. Jqueryドロップダウン選択
- 10. jQuery選択/ドロップダウンセレクタ
- 11. 選択とjQuery
- 12. jQueryの:ボックス選択
- 13. Jqueryフィールドの選択
- 14. jqueryツリーの選択
- 15. jQueryのは、選択
- 16. jQueryの選択ヘルプ
- 17. jQuery - 別の選択
- 18. jQueryのカスタム選択
- 19. 特別な選択jquery選択可能
- 20. JQuery - Quick Sand JQuery(デフォルト選択)
- 21. JQuery Datepicker選択年
- 22. jQueryイベント選択オプション
- 23. Jquery Mulitple選択フィールドエラー
- 24. 複数選択jQuery
- 25. jQuery PHP選択オプション
- 26. jquery closest()を選択
- 27. jQueryオートコンプリート:イベント選択
- 28. jQueryテンプレート選択オプション
- 29. JQueryテーブルセル選択スクリプト
- 30. jQuery chainedを選択
私はセレクタなしで書きました!私はテンプレート(ビュー)の大きな数をロードする大きすぎるファイル(コントローラ)があり、私は冗長なセレクタを削除しようとしています。 – 2xMax
DOM要素を操作するには、ノードへの参照を取得する必要があります。その参照を生成するには、ID(最速ですが、一意性の制約が付いています)、またはより一般化されたセレクターが必要です。おそらく正規表現を使ってマークアップを巨大な文字列として扱いたいのでない限り。ひどい出来事は非常に脆弱です。セレクタを使用すると、重複したコードとたくさんの 'if/else'ブロックの使用を避けることができます。 – Tom
おそらく、テンプレート要求内のサーバーに必要な値のセットを渡すことができ、サーバーは応答が送信される前に生成されたマークアップを変更できます。しかし、そのアプローチはjavascriptベースではないので、答えを得るために質問に再度タグを付ける必要があります。 – Tom