別々のボタンクリックを処理するために別々の関数を書くのを避けることができるかどうか見ています。クリックされたボタンのText値を読み取ることができれば、 "showName"という1つの関数を使用して、それぞれのボタンのクリックを処理するswitch文を使用できます。ノックアウト - ボタンのテキスト値を取得する方法は?
これは可能ですか?
<body>
<button data-bind="click: showName">Show Name</button>
<button data-bind="click: showName">Show Lists</button>
</body>
以下にさまざまな方法を試しました。私は最初のボタンがクリックされた場合、値 "ショーネーム"を取得したいと思います。しかし、これらのどれも働いていません。一例として、stackoverflowのを使用して
function TutorialsViewModel(){
this.showName = function(e){
console.log(e);
console.log(e.target);
console.log(e.target.value);
};
}
ko.applyBindings(new TutorialsViewModel());
あなたの '
私はidタグも避けることができるのか見ていました。要素を可能な限り一般的なものにする。あなたの答えは、(データ、e)に私の関数のパラメータを拡張することです。 idを使用せずに動作しますが、あなたが示唆するように、一意のid属性を使用する方が良いです。こうすることで、JSコードの対応するinnerTextを変更することなく、後でボタンのテキストを変更できます。ありがとう。 – nanonerd