症状
こういうバインディングをする(mappingプラグインを使ってるので、やたら括弧が多いです)
%ul(data-bind="foreach: data()")
%li
%input(type="radio" data-bind="checked: $root.checked, attr: {id: $data.id(), value: $data.name()}")
%label(data-bind="text: $data.name(), attr: {for: $data.id()")
labelのfor要素で関連付けを行いたい。
IE9とかなら問題ないけど、IE8以下にすると(IE11のシミュレータで実行)
識別子、文字列または数がありません。
というエラーが出る
回避
ちょっと調べる時間がないので、html側の工夫で回避する。
こうする
%ul(data-bind="foreach: data()")
%li
%label
%input(type="radio" data-bind="checked: $root.checked, attr: {id: $data.id(), value: $data.name()}")
%span(data-bind="text: $data.name()")
IE6が対象じゃなければ、とりあえずコレでいいかな...