0

ノックアウトと jquery を使用して、シンプルな折りたたみ可能なメニューを作成しようとしています。しかし、何らかの理由でjqueryがアクティブ化されていません。

スクリプトはここにあります

    <ul id="usernav" data-bind="template: { name: 'seasonTemplate', foreach: seasons, as: 'season' }"></ul>

<script type="text/html" id="seasonTemplate">
    <li>
        <strong data-bind="text: name"></strong>
        <ul data-bind="template: { name: 'monthTemplate', foreach: months, as: 'month' }"></ul>
    </li>
</script>

<script type="text/html" id="monthTemplate">
    <li>
        <span data-bind="text: month"></span>
        is in
        <span data-bind="text: season.name"></span>
    </li>
</script>

スクリプトは

        var viewModel = {
        seasons: ko.observableArray([
            { name: 'Spring', 
             months:[ 'March' , 'April', 'May'  ]},
            { name: 'Summer', months: [ 'June', 'July', 'August' ] },
            { name: 'Autumn', months: [ 'September', 'October', 'November' ] },
            { name: 'Winter', months: [ 'December', 'January', 'February' ] }
        ])
    };
    ko.applyBindings(viewModel);

$('#usernav').find('ul').hide();

$('li').click(function(e) {
    $(this).children('ul').toggle();
    e.stopPropagation();
});

編集:- はい、コピー貼り付け中に元のjsfiddle投稿にjqueryライブラリを含めるのを忘れた可能性がありますが、それは私の問題ではありません。ここで私の問題に関する別の質問を作成しました ありがとう!!

4

2 に答える 2

0

jsFiddle を更新することで、最初にお手伝いします。

これがあなたの答えでない場合は、自分で削除しますが、jquery ライブラリを修正するとコードが機能するようになったため、これが答えになる可能性があります (sic)。

jsfiddle ライブラリのスクリーン キャプチャ

jsFiddle で、JavaScript ライブラリを更新し、jquery を追加します。

Your 結果のjsFiddle

于 2013-10-31T18:59:37.193 に答える