我在角度应用程序中使用bootstrap multiselect。 (Bootstrap 2.3)
http://davidstutz.github.io/bootstrap-multiselect/index-2-3.html#examples
我想将同样的东西转换为bootstrap typeahead,但用户仍然可以在搜索结果中多选数值。
我使用bootstrap typeahed的荧光笔功能将结果复选框添加到结果中。 我指的是这个plnkr http://plnkr.co/edit/szO2An1oslDyGftnshyR?p=preview,但我仍然无法使我的代码工作。
多选的旧代码:
检查上次选择的值
$scope.selectOptions = function () {
var index = fetching the index of checked values;
var selectedAttrFound = index>-1;
if (selectedAttrFound == true) {
angular.element("#attr-value-selector")
.multiselect('select', $scope.filterAttributes[index].attributeValues);
}
};
填充多选
$scope.attrValuesWidget = angular.element("#attr-value-selector")
.multiselect({
numberDisplayed: 2,
enableFiltering: true,
maxHeight: "300",
onChange: function (element, checked) {
$scope.attributeActionValue = {
attribute: $scope.attributeSelected,
value: element.val(),
checked: checked
};
$scope.$apply();
}
})
.multiselect('dataprovider', $scope.configAttributeValuesList);
选择框
<select id='attr-value-selector' multiple='multiple' ></select>
答案 0 :(得分:2)
虽然您可以在荧光笔功能中轻松添加复选框..
highlighter: function( item ){
var bond = bondObjs[ item ];
return '<div class="bond">'
+'<input type="checkbox" class="mightBeRequiredToCollectTheSelectedResult">'
+'<img src="' + bond.photo + '" />'
+'<br/><strong>' + bond.name + '</strong>'
+'</div>';
}
问题是;
如果你检查了typehead.js github问题页面,问题#254提到他们没有计划支持多选,至少目前是这样。
现在我可能会因此而被投票,但如果我是你,我也会考虑其他选择。
希望它有所帮助。欢呼声。