私はプログラミング全般に不慣れですが、特にノックアウトです。foreach バインディングが設定されているテーブルがあります。このテーブルには、ajax を介して取得された mysql データベース値からチェックされた値が入力されるチェックボックスになりたい列があります。チェック済みバインディングは 0 または 1 を取り、チェック済みおよびチェックなしに大まかに変換できる必要があることを理解しています。
http://knockoutjs.com/documentation/checked-binding.html
チェックボックスの場合、KO は、パラメーター値が true の場合は要素をチェックし、false の場合はチェックを外すように設定します。実際にはブール値ではない値を指定すると、大まかに解釈されます。つまり、ゼロ以外の数値、null 以外のオブジェクト、および空でない文字列はすべて true として解釈され、ゼロ、null、未定義、および空の文字列は false として解釈されます。
それでは、これが私の ko.observableArray 名前付きパーツであるとしましょう:
{"id":"1","partdes":"asdf","partcost":"1.00","sellcost":"2.00","tax":"1"}
そして、テーブルから次のコード スニペットを取得しました。
<tbody data-bind="foreach: parts">
<tr>
<td data-bind="text: id"></td>
<td data-bind="text: partdes"></td>
<td data-bind="text: partcost"></td>
<td data-bind="text: sellcost"></td>
<td><input type="checkbox" data-bind="checked: tax" /></td>
//And I added this line to get the actual value:
<td data-bind="text: tax"></td>
</tr>
</tbody>
値が 0 の場合でも、チェックボックスが常にチェックされていることを除いて、すべて正常に機能します。なぜこれが機能しないのですか?