嗨,这是一个使用基于 knockout 的 devexpress 框架的 cordova 应用程序,我需要设置列表中仅一项可见
该项目应对应于 param.id 或 this id_agenzia:ko.observable(params.id),
我尝试过使用 jquery(设置 id "#"+$data.id_agenzia 可见 if == id_agenzia ),但如果我集成它不起作用
目标是做这样的事情
如果我输入这一行,它会忽略 如何设置仅与 $data.id_agenzia 对应的 div 可见的正确方法对于 $data.id_agenzia==id_agenzia 有效? 谢谢你的帮助
这是添加了jsfiddle代码的js代码
self.selected_id_agenzia = ko.observable('two');
self.jsonLista = ko.observableArray([
{id_agenzia:ko.observable('one'), nome:'N1'},
{id_agenzia:ko.observable('two'), nome:'N2'}
noDataLabel: noDataLabel,
这是添加了jsfiddle代码的html代码
<div class="list-indentation" data-bind="foreach:jsonLista" style="padding-bottom:60px;">
<div id="$data.id_agenzia" data-bind="visible: id_agenzia()==selected_id_agenzia()">
<div class="agency-description-box" >
<span data-bind="text: $data.id_agenzia" class="agency-name"></span>
<span data-bind="text: $data.nome" class="agency-name"></span>
</div>
</div>
</div>
最佳答案
我想我误解了你对变量所做的事情。我做了一个简化的 fiddle 来做我认为你想做的事情。为了让它发挥作用:
- 我认为 dxList 或多或少类似于 foreach
- 我将外部 id_agenzia 的名称更改为 selected_id_agenzia,因为我无法使用 $data 和 $root 进行比较来区分它们
我将这两个项目都制作为 ko.observables,并在比较中对每个项目使用了函数调用
</div>
代码全部在 fiddle 中:
关于javascript - Knockout - 设置 json 生成的列表中仅一项可见,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29855014/