IE8标签和敲除绑定

问题描述:

我有一个模板,带有敲除'for'属性的复选框和标签。IE8标签和敲除绑定

无法触发点击事件,但它可以在所有浏览器IE8除外

<input class="checkbox" type="checkbox" data-bind="value:Id,checked:$root.selectedCategoryIds,attr: { 'id': 'product-choice-' + Id, name: Name }" /> 
<label class="label-container" data-bind="attr: { 'for': IsEnabled ? 'product-choice-' + Id : '' }">     
      <span class="checkbox-icon" data-bind="visible:IsEnabled"></span> 
      <span class="checkbox-label" data-bind="text:Name"></span> 
</label> 

即使我指定文档标准。

有任何解决方法

+0

你能为此提供一个JSFiddle吗? – tcigrand

+0

[标签为IE8无法识别的\ [... \]]的可能重复(http://*.com/questions/10176064/label-for-not-recognised-by-ie8) –

IE8有时会抛出错误时也是保留字在JavaScript中未加引号的属性(如forclass)是在HTML(我有这个与class)。因此,在data-bind中引用您的属性是最安全的,例如:data-bind="attr: { 'for': 'mylabel, 'class': 'myclass' }"。确保在标签上使用for,并在输入上使用name & id。另外,当你在表达式中使用可观察(如果你这样做)(isEnabled在你上面的例子中),你应该执行它:isEnabled(),否则它总是返回true。