我使用如下所示的knockout属性映射将subject对象映射到li元素。
<ul class="nav nav-pills nav-stacked" id="subjects">
<!-- ko foreach:Subjects -->
<li data-bind='attr:{"data-event":$data}'>
<a href="#" data-bind='text:subject_name + " by " + teacher_name;'>
</a>
</li>
<!-- /ko -->
</ul>
之后我必须使用JQuery方法访问主题对象。
var originalEventObject = $(element).data('event');
注意:&#34;元素&#34;在这里是正确的。代码在循环中,并且不希望通过在此处填写完整代码来使问题复杂化。
但总是将字符串作为[Object Object]而不是真正的JSON。请帮帮我。
答案 0 :(得分:0)
通常以这种方式访问数据并不是一种好习惯。如果是拖拽和drop it取决于你是否克隆元素。但是你可以在你使用克隆的情况下开始拖动。只需覆盖&#34;帮助&#34;功能可拖动。然后如果需要,使用jQuery放置这些数据:
ko.dataFor
ko.contextFor
$(function() {
var model = {
Subjects: [{text:'first'}, {text: 'second'}]
};
ko.applyBindings(model);
$('#result').text(JSON.stringify(ko.dataFor($('li')[0])));
});