Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/74.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何使复选框的标签在淘汰js中可单击?_Javascript_Html_Knockout.js - Fatal编程技术网

Javascript 如何使复选框的标签在淘汰js中可单击?

Javascript 如何使复选框的标签在淘汰js中可单击?,javascript,html,knockout.js,Javascript,Html,Knockout.js,我们如何使文本可点击。下面是一个参考淘汰模板的列表。我可以直接选中该复选框,但无法使文本可单击,以便它可以反映复选框 HTML: JSFIDLE演示: 有什么方法可以让它可以点击吗?在元素周围放置一个: var viewModel={ 选择:[“一”、“二”、“三”、“四”、“五”], 选择选项:ko.observearray([“二”,“四]) }; viewModel.selectedChoicesDelimited=ko.DependentToServable(函数(){ 返回此.sel

我们如何使文本可点击。下面是一个参考淘汰模板的列表。我可以直接选中该复选框,但无法使文本可单击,以便它可以反映复选框
HTML:

JSFIDLE演示:

有什么方法可以让它可以点击吗?

元素周围放置一个

var viewModel={
选择:[“一”、“二”、“三”、“四”、“五”],
选择选项:ko.observearray([“二”,“四])
};
viewModel.selectedChoicesDelimited=ko.DependentToServable(函数(){
返回此.selectedChoices().join(“,”);
},视图模型);
应用绑定(视图模型)


您是否尝试过赋予复选框和标签相同的ID?有没有办法不使用标签包装输入?这并不总是可取的…@cale_b,我添加了一个使用
id
作为
属性的示例。就个人而言,我更喜欢包装版本。如果你不小心,你可能会得到重复的id。。。包装版本没有这种风险。
<ul data-bind="template: { name: 'choiceTmpl', foreach: choices, templateOptions: { selections: selectedChoices } }"></ul>

    <script id="choiceTmpl" type="text/html">
        <li>
            <input type="checkbox" data-bind="attr: { value: $data }, checked: $item.selections" />
            <label data-bind="text: $data"></label>
        </li>
    </script>
var viewModel = {
    choices: ["one", "two", "three", "four", "five"],
    selectedChoices: ko.observableArray(["two", "four"])
};

viewModel.selectedChoicesDelimited = ko.dependentObservable(function() {
    return this.selectedChoices().join(",");
}, viewModel);

ko.applyBindings(viewModel);