我试图从“li”中删除Class,但它不起作用。这是我的功能:
function setStore($s, id, name) {
//alert("length: " + $s.parents('ul.popup-cbo-menu').find('li.selected').length);
$s.parents('ul.popup-cbo-menu').find('li.selected').removeClass('selected');
//alert("length: " + $s.parents('ul.popup-cbo-menu').find('li.selected').length);
//$s.parent('li').addClass('selected');
$('#cboStores').val(name);
}
我可以通过发出警报来确认“选定”已被删除。但由于某种原因,它并不影响实际的“里”。
这是 jsfiddle:http: //jsfiddle.net/87xswem7/9/。但是,由于某种原因,jsFiddle 无法找到 setStore() 函数。
这是我创建弹出框的方法:
$(document).ready(function () {
$("#cboStores").popover({
viewport: 'body',
trigger: 'click',
placement: 'bottom',
html: true,
content: '<ul class="popup-cbo-menu">' +
' <li><a href="#" onclick="setStore($(this), -1, \'All Stores\')">All Stores</a></li>' +
' <li class="selected"><a href="#" onclick="setStore($(this), 1, \'My Foot\')">My Foot</a></li>' +
' <li><a href="#" onclick="setStore($(this), 2, \'My Foot 1\')">My Foot 1</a></li>' +
'</ul>',
template: '<div class="popover cont-popup-cbo-menu" role="tooltip">' +
' <div class="arrow"></div><h3 class="popover-title"></h3>' +
' <div class="popover-content"></div>' +
'</div>'
}).blur(function () {
$(this).popover('hide');
});
});
这是我在 html 中的输入框:
<input type="text" id="cboStores" value="My Foot" />