2
在Twitter的引導與標籤複選框不工作時使用的標記,如:引導chechbox和淘汰賽:自定義綁定模板
<label class="checkbox">
<input type="checkbox" value="option1">
Option 1
</label>
淘汰賽標準「文本」的標籤綁定不工作:複選框標記簡單取代文字。在命名模板
ko.bindingHandlers['checkboxLabelText'] = {
'update': function (element, valueAccessor) {
var value = ko.utils.unwrapObservable(valueAccessor());
if ((value === null) || (value === undefined))
value = "";
$(element).html($(element).html() + " " + _.escape(value));
}
};
它正常工作與聯模板,
<!-- This code works -->
<div class="accordion-inner">
<!-- ko foreach:categories -->
<div class="control-group">
<div class="controls">
<label class="checkbox" data-bind="checkboxLabelText: title">
<input type="checkbox" data-bind="checked: checked" />
</label>
</div>
</div>
<!-- /ko -->
</div>
而不是作品::我創建了一個自定義綁定複選框顯示,但沒有綁定。
<!-- This code does not work -->
<div class="accordion-inner" data-bind="template: {foreach: categories, name: 'checkboxEditorTemplate'}">
</div>
<script type="text/html" id="checkboxEditorTemplate">
<div class="control-group">
<div class="controls">
<label class="checkbox" data-bind="checkboxLabelText: title">
<input type="checkbox" data-bind="checked: $data.checked()" />
</label>
</div>
</div>
</script>
任何幫助?
謝謝!它的工作原理,我只是想沒有。 – user1479311
我可以問爲什麼你會想要沒有跨度做到這一點?沒有包含文本和其他元素的元素是更好的HTML。 –
你目前的代碼似乎很好:http://jsfiddle.net/rniemeyer/4JVRA/。你只是想在第二個例子中綁定'checked'而不是'$ data.checked()'。 –