2017-01-05 8 views
0

Plsはクリック機能から値を取得するのに役立つことができます。コンソールには何も表示されません。特定のリスト項目をクリックするとタイトルと位置の値を取得する必要がありますclickfunctionの値を取得する、ノックアウトのクリックバインド

var locations = [ 
{title: 'Park Ave Penthouse', location: {lat: 40.7713024, lng: -73.9632393}}, 
{title: 'Chelsea Loft', location: {lat: 40.7444883, lng: -73.9949465}}, 
{title: 'Union Square Open Floor Plan', location: {lat: 40.7347062, lng: -73.9895759}} 


    var viewmodel = function(){ 
    var self = this; 
    self.location = ko.observableArray(); 
    locations.forEach(function(locat){ 
     self.location.push(locat) 
    }) 

self.clickEvent= function(currentItem){ 
    console.log(currentItem.title()) 


    } 
    } 

    ko.applyBindings(new viewmodel()); 

HTMLあなたは空想何もする必要はありませんので、最初の引数として現在のモデルの値を渡すデフォルトノックアウトクリックバインディングでは、この

<ul data-bind="foreach:location"> 
    <li data-bind = "text:title,|click:$parent.clickEvent"></li> 
    </ul> 
+0

http://stackoverflow.com/documentation/knockout.js/7101/bindings-form-fields/7835/click#t=201701060946084762053 – user3297291

答えて

0

のようになります。コード内にイベントが正しく発生するのを妨げるいくつかのエラーがあります。

"|"それは、と私は不慣れだ機能でない限り、おそらく結合あなたのクリックでシンボルが存在してはならない。あなたのタイトルの周りの余分な括弧が存在してはならない

//<li data-bind = "text:title,|click:$parent.clickEvent"></li> 
<li data-bind = "text:title, click:$parent.clickEvent"></li> 

どちらかが文字列リテラルとしてタイトルを定義したので、観察可能ではない。

//console.log(currentItem.title()) 
console.log(currentItem.title); 

また、ロケーション配列のセミコロンと末尾の括弧もありません。

EDIT:fiddle

+0

はそれがあった、それが働いた、ありがとうございました確かに記号 "|"問題 – Ark

関連する問題