これは、言葉で表現するのに少し難しい質問です。基本的に、KnockoutJS Webサイト(http://knockoutjs.com/examples/cartEditor.html)の例の1つに基づいて、KnockoutJSでショッピングカートページを作成しようとしています。ただし、カート内の各商品の値を調整できるように、jQueryUIスライダーを利用したかったのです。
これで問題なく動作し、バスケットに製品(この場合はモーターカー)を追加して値を調整したり、車にスポーツキットがあるかコンバーチブルかによって値を増減したりできます。
http://jsfiddle.net/FloatLeft/UjRrJ/
ただし、製品を追加して([車を追加]ボタン)、車のタイプを選択する代わりに、ボタンをクリックする(たとえば、クリックする)だけで特定のタイプ(BMW、フォードなど)をカートに追加できるようにしたいと思います。 「BMWの追加」ボタン-これは現時点では何もしません)。
しかし、私の単純な頭脳は、ボタンをコレクション内の特定の車にバインドする方法を理解できません。コレクションを反復処理して、文字列に一致するタイプの車を見つける関数を作成することで、車を取得できると思います。たとえば、
function GetCar(carType) {
for (var i = 0; i < sampleCars.length; i++) {
if (sampleCars[i].Type == carType) {
return sampleCars[i];
}
}
}
つまり、基本的に、「BMWを追加」ボタンのクリックイベントをコレクション内の特定の車にバインドして、カートに追加する方法を知りたいと思います。