3

折りたたみ可能なパネルが拡張されない理由を理解するのを手伝ってくれる人はいますか? jquery mobile を使用した HTML マークアップは機能しているようです。データは foreach ループを介して折りたたみ可能なセットにバインドされますが、パネルは展開されません。

html:

<div data-role="collapsible-set" class="ui-block-a" data-bind="foreach: opportunityData"> 
    <div data-collapsed="true" data-role="collapsible" >
        <h3>
            <span data-bind="text: name" />
        </h3>
        <p data-bind="text: company" />
    </div>
</div>

JS:

function OpportunityViewModel() {

        var self = this;
        self.opportunityData = ko.observable([]);

        $.ajax({
            url: 'url....',
            type: 'GET',
            async: true,
            cache: false,
            crossDomain: true,
            dataType: 'jsonp',
            success: function (data) {
                self.opportunityData(data)
            },
            error: function (jqXHR, textStatus, ex) {
                alert(textStatus + "," + ex + "," + jqXHR.responseText);
            }
            }); //end ajax call
        }; //end viewmodel       

        ko.applyBindings(new OpportunityViewModel());           
    });
4

1 に答える 1

2

私は解決策を見つけました。新しい外側の divを作成し、その divにforeachを配置します。

<div data-bind="foreach: opportunityData">
   <div data-role="collapsible-set" class="ui-block-a" > 
       <div data-collapsed="true" data-role="collapsible" >
           <h3>
               <span data-bind="text: name" />
           </h3>
           <p data-bind="text: company" />
       </div>
   </div>
</div>
于 2012-09-24T06:00:15.097 に答える