私は観測可能な配列の要素をリストしたテーブルを持っています。私が苦労しているところでは、ボタンが色を変えて「選択された」値に変わるアイテムをクリックしたときに、ボタンが再びクリックされると、そのボタンは逆になります。私は正常にテストとして現在の$データ内のプロパティにボタンのテキストの色をバインドして正常に動作します。クリックしてプロパティ値を変更すると何も起こりません。ノックアウト - foreach:クリック時のボタンの色を変更する
問題が発生したボタンタグです。
サンプルコード:
<tbody data-bind="foreach: slcs ">
<tr>
<td data-bind="text: slc"></td>
<td>
<div class="form-group">
<select class="form-control input-sm runinputs" data-bind="selectedOptions: $data.pbr, optionsCaption: 'Choose'">
<option value="1">1</option>
<option value="2">2</option>
</select>
</div>
</td>
<td>
<div class="form-group">
<select class="form-control input-sm runinputs" data-bind="selectedOptions: $data.of, optionsCaption: 'Choose'">
<option value="1">1</option>
<option value="2">2</option>
</select>
</div>
</td>
<td>
<div class="form-group">
<select class="form-control input-sm runinputs" data-bind="selectedOptions: $data.lotsize, optionsCaption: 'Choose'">
<option value="1">1</option>
<option value="2">2</option>
</select>
</div>
</td>
<td><button class="btn btn-sm btn-info" data-bind="click: $data.status = 0, click: function() { $parent.selectSetting($data); }, style: { color: $data.status = 0 ? 'red' : 'black' }">Select</button></td>
</tr>
同じタイプのバインディングハンドラを1つの要素に追加することはできません。ボタンには2つのクリックバインディングがあります。 – connexo
ワンクリック機能にロジック全体がないのはなぜですか? – Developer