Javascript 敲除foreach中复选框的动态id
我正在开发telerik应用程序。在其中,我使用knockout.js绑定表中的数据。foreach的代码:Javascript 敲除foreach中复选框的动态id,javascript,jquery,knockout.js,telerik,knockout-mapping-plugin,Javascript,Jquery,Knockout.js,Telerik,Knockout Mapping Plugin,我正在开发telerik应用程序。在其中,我使用knockout.js绑定表中的数据。foreach的代码: <tbody id="tbodySpeakerEvaluation" data-bind="foreach: SpeakerEvaluation"> 赋予复选框动态值的代码如下: <input data-enhanced="true" data-defaults="true" name="Contentaccuracy" data-bind="attr: {val
<tbody id="tbodySpeakerEvaluation" data-bind="foreach: SpeakerEvaluation">
赋予复选框动态值的代码如下:
<input data-enhanced="true" data-defaults="true" name="Contentaccuracy" data-bind="attr: {value: Id + '_1'}" type="checkbox">
我希望我的复选框值应为Id_1,但这不起作用。当我点击submit and Get Check复选框时,它并没有为选中的复选框提供正确的值
请在这方面指导我。如果您试图添加的只是一个字符串值,请使用引号中的
Id
试试:
<input data-enhanced="true"
data-defaults="true"
name="Contentaccuracy"
data-bind="attr: {value: 'Id' + '_1'}" type="checkbox">
或者如果Id
是您的财产:
<input data-enhanced="true"
data-defaults="true"
name="Contentaccuracy"
data-bind="attr: {value: 'chk' + Id}" type="checkbox">
通过这种方式,每个复选框的值与
foreach
相关,如果ID是唯一的,则将包含唯一的值。将简单函数设置为随机数,或在ViewModel中添加函数,或使用computed observable
让我们看看使用随机数函数
function randomNumber(id) {
return Math.floor(Math.random()).toString() + id;
}
这个函数调用attr bind like
<input data-enhanced="true"
data-defaults="true"
name="Contentaccuracy"
data-bind="attr: {value: randomNumber(Id)}" type="checkbox">
<input data-enhanced="true"
data-defaults="true"
name="Contentaccuracy"
data-bind="attr: {value: randomNumber(Id)}" type="checkbox">