0
I'm具有該敲除環:引導標籤在動態敲除手風琴
<div id="accordion" data-bind="jqAccordion: { },template: { name: 'task-template', foreach: ¨Tasks, afterAdd: function(elem){$(elem).trigger('valueChanged');} }"></div>
<script type="text/html" id="task-template">
<div data-bind="attr: {'id': 'Task' + TaskId}, click: $root.SelectedTask" class="group">
<h3><b><span data-bind="text: TaskId"></span>: <input name="TaskName" data-bind="value: TaskName"/></b></h3>
<p>
<label for="Description" >Description:</label><textarea name="Description" data-bind="value: Description"></textarea>
<!-- HERE I want to put the Tags for the current task -->
</p>
</div>
</script>
其中 self.Tasks()= ko.observableArray(); 在我的視圖模型,填充這樣的:
self.Tasks()推(新任務(數據);其中
Task = function(data) {
var self=this;
self.TaskId = ko.observable(data.TaskId);
self.Description = ko.observable(data.Description);
self.TaskTags = ko.observableArray();
}
self.TaskTags然後與從所收集的標籤陣列後填充。 。和所有的任務id過濾
外淘汰賽環,下面標記的工作原理:
<input type="text" name="tags" placeholder="Tags" class="tagsManager"/>
<input type="hidden" value="Pisa, Rome" name="hiddenTagList">
與
$(function() {
$(".tagsManager").tagsManager({
prefilled: ["Pisa", "Rome", "Oslo"],
//prefilled: viewModel.Tags().TagName,
CapitalizeFirstLetter: true,
preventSubmitOnEnter: true,
typeahead: true,
typeaheadAjaxSource: null,
typeaheadSource: ["Pisa", "Rome", "Milan", "Florence", "Oslo", "New York", "Paris", "Berlin", "London", "Madrid"],
delimeters: [44, 188, 13],
backspace: [8],
blinkBGColor_1: '#FFFF9C',
blinkBGColor_2: '#CDE69C',
hiddenTagListName: 'hiddenTagListA'
});
});
但是,「class」在我的循環中必須是動態的。我想我可以像實現這一目標:
<input type="text" placeholder="Tags" data-bind="attr: {'class': 'tagsManager' + SceneId}" />
的問題是我怎麼綁定tagsManager這些動態元素?另外:對於每個任務,我都有一個self.TaskTags = ko.observableArray(/ *從數據庫加載* /);
而不是循環好的城市的靜態列表我想要顯示附加到實際任務的標籤。