我有这样一个列表视图以下内容:淘汰赛,jQuery Mobile的列表视图 - 获取ID上点击
<ul data-inset="true" data-filter="true" data-bind="foreach: growers" data-role="listview" id="ulGrowerList">
<li><a data-bind="click: $parent.setSelectedClassToGrowerList, attr: {id: growerId}"><span data-bind="text: growerName, attr: {id: growerId}, click: $parent.setSelectedClassToGrowerList" /></a></li>
</ul>
我setSelectedClassToGrowerList看起来是这样的:
self.setSelectedClassToGrowerList = function (item, event) {
$(ulGrowerList).closest('ul').find('a').removeClass('highlight');
$(ulGrowerList).closest('ul').find('.selected').remove();
$(event.target).toggleClass("highlight");
if ($(event.target).hasClass("highlight")) {
$(event.target).append("<span class='selected'>Selected</span>");
//console.log(event.target.id);
replaceByValue('GrowerID', event.target.id);
postjson();
//update GrowerInfo
$.getJSON("Grower/GetGrower", function (allData) {
self.GrowerName(allData.Name);
self.GrowerCompany(allData.CompanyName);
self.GrowerAddress(allData.Address);
self.ShowGrowerCompany(allData.ShowCompany);
self.GrowerID(allData.ID);
});
} else {
$(event.target).find(".selected").remove();
}
正如你看到的,我结合setSelectedClassToGrowerList到两者和标签,因为点击文本(跨度)没有采取所需的操作。现在,问题是,当我单击文本本身时,“选定”文本不会显示。我正在查找的功能与此类似: http://jsfiddle.net/czqXm/1/除了能够选择多个已在工作的项目。
我使用knockout和jquery mobile越多,我越倾向于认为它们不是最好的组合(叹息!)。
但是,究竟是什么,是所遇问题? –
问题是,当我单击文本时,“选定”文本未显示。 – WhatsInAName