使用包含前缀的敲除 js 设置 id 属性

我使用 KnockoutJS 来迭代一个对象,如下所示:

现在这一切都成功了。但我的问题是,它设置的 idbutton只是一个数字。看起来是这样的:

<button id="1">Button 1</button>
<button id="3">Button 2</button>
<button id="8">Button 3</button>

因此,我尝试在“ Id”属性前面加上一个前缀,如下所示:

<div data-bind="foreach:Items">
<button data-bind="text: Name, attr: {'id': 'myprefix_' + Id}"></button>
</div>

但这似乎不起作用。当我这样做的时候,我的 id会充满一些击倒观察功能..。

所以我的问题是,当我指定字段的 id属性时,如何添加前缀?

64892 次浏览

如果 Id是可观测的,则必须“展开”它: 'myprefix_' + Id()

例如,我认为最好使用 $index

<div data-bind="foreach:Items">
<button data-bind="text: Name, attr: {id: 'myprefix_' + $index() }"></button>
</div>

实际上,我今天就是用这个方法来展开我必须要做的事情:

<button data-bind="attr: { id: 'prefix_' + $index() }"> Send </button>

希望这个能帮上忙。

       <img data-bind="event: {click: $root.afficherDetailmembreFamille}" src="ucc/gestion_Famille/images/arbre-fleche-off.png" />


<label data-bind=" text: nom"></label>
<label data-bind=" text: prenom, click: $root.afficherDetailmembreFamille"></label>
<br>


<div data-bind="attr: {'id': 'DivMembreFamille'+id}" style="margin-left: 40px; display: none;">