使用javascript选择行
在我的MVC Razor项目中,我以行(列表格式)显示数据。 这些值使用javascript敲除显示 我想使用javascript KnockoutJs高亮显示所选行。 有没有更好的办法 这是我的密码使用javascript选择行,javascript,html,knockout.js,Javascript,Html,Knockout.js,在我的MVC Razor项目中,我以行(列表格式)显示数据。 这些值使用javascript敲除显示 我想使用javascript KnockoutJs高亮显示所选行。 有没有更好的办法 这是我的密码 <ul class="navlist" data-bind="foreach:selectOptions" > <li><a href="#" data-bind="click:selectOption">
<ul class="navlist" data-bind="foreach:selectOptions" >
<li><a href="#" data-bind="click:selectOption">
<span data-bind="text:name"></span>
<span data-bind="text:option"></span>
<span data-bind="text:optiondate"></span></a>
</li>
</ul>
-
我做了一个简单的测试
正如您所看到的,我将所选选项存储在一个可观察的对象中。
如果所选选项是当前选项,则数据绑定应用“highlight”类
<ul class="navlist" data-bind="foreach:selectOptions" >
<li>
<div data-bind="click:$parent.selectOption, css: {'highlight' : $parent.selectedOption() == $data }" style="cursor: pointer">
<span data-bind="text:name"></span>
<span data-bind="text:option"></span>
<span data-bind="text:optiondate"></span>
</div>
</li>
</ul>
我希望它能有所帮助。我在这里发布了一些有用的东西:
avascript/61581214#61581214您如何知道所选行?您有一些打字错误。。。删除尾随逗号
选择选项:ko.observable(),
和缺少的“d”
vm = {
selectOptions : [{name:'name1',option : 'option1', optiondate:'optiondate1'},
{name:'name1',option : 'option2', optiondate:'optiondate2'},
{name:'name3',option : 'option3', optiondate:'optiondate3'}],
selectOption : function(opt){
vm.selectedOption(opt);
},
selectedOption: ko.observable()
}
ko.applyBindings(vm);