0

Knockout.js を使い始めたばかりで、動的 HTML に関するクエリがあります。

動的アンケートを作成しています。これは持っています;

  • ...を含むメインアンケートビューモデル
  • ... を含むページの observableArray。
  • ... を含む質問の observableArray です。
  • オプションの配列。

$.map 関数を使用してオプションをマップしました。

this.options = $.map(questionOptions, function(text) { 
                                                       return new Option(text) 
                                                     });

ViewModel でいくつかの HTML を動的に生成していますが、オプション テキストを一連のラジオ ボタンのようなものに連結しようとすると、

var htmlContent = '';
ko.utils.arrayForEach(_self.options, function (item) {
    htmlContent += '<input type="radio" name="' + ko.utils.unwrapObservable(_self.questionNumber) + '" data-bind="attr: {value: value}, checked: $root.selected" />\r\n';
    htmlContent += '<span>\r\n';
    htmlContent += item.optionText;
    //htmlContent += ko.utils.unwrapObservable(item.optionText); // Doesn't Work
    //htmlContent += item.optionText(); // Doesn't Work
    htmlContent += '</span>\r\n';
                });

return htmlContent;

私はたくさんのことになります。

[object Object]

私はいくつかの代替手段を試しましたが、どこに行くべきか少し行き詰まりました..

テキスト ボックス、ラジオ ボタン、ドロップダウン、リストなどをまとめて使用することを計画しているため、テンプレートの使用方法がわかりません。でも、ここは私の知識が足りないだけかも!?

これは、いくつかのサンプル コードを含む jsFiddle です。

http://jsfiddle.net/PGallagher69/wA6mQ/21/

何か案は?

4

1 に答える 1