Угловой раскрывающийся список множественного выбора

В angular multislect я хочу показать значение Id в параметрах. Прямо сейчас я показываю только значение метки.

Например: HTML:

JS: $scope.example14data = [{ "метка": "Алабама", "id": "AL" }

Текущий результат : Алабама

Ожидаемый результат: Алабама, штат Алабама.

Пожалуйста, обратитесь к приведенной ниже скрипте js Js Fiddle: https://jsfiddle.net/michaeldeongreen/22et6sao/9/

Заранее спасибо


person user3342682    schedule 30.05.2016    source источник


Ответы (2)


Во-первых, вы редактируете getPropertyForObject функцию

$scope.getPropertyForObject = function (object, property, property2) {
    if (angular.isDefined(object) && object.hasOwnProperty(property)) {
       return object[property] + (object[property2]?(" "+object[property2]):"");
    }

    return '';
};

Затем измените это

if (checkboxes) {
                template += '<div class="checkbox"><label><input class="checkboxInput" type="checkbox" ng-click="checkboxClick($event, getPropertyForObject(option,settings.idProp))" ng-checked="isChecked(getPropertyForObject(option,settings.idProp))" /> {{getPropertyForObject(option, settings.displayProp, settings.displayProp2)}}</label></div></a>';
            } else {
                template += '<span data-ng-class="{\'glyphicon glyphicon-ok\': isChecked(getPropertyForObject(option,settings.idProp))}"></span> {{getPropertyForObject(option, settings.displayProp, settings.displayProp2)}}</a>';
            }

А также

$scope.settings = {
                dynamicTitle: true,
                scrollable: false,
                scrollableHeight: '300px',
                closeOnBlur: true,
                displayProp: 'label',
                displayProp2: 'id',
                idProp: 'id',
                externalIdProp: 'id',
                enableSearch: false,
                selectionLimit: 0,
                showCheckAll: true,
                showUncheckAll: true,
                closeOnSelect: false,
                buttonClasses: 'btn btn-default',
                closeOnDeselect: false,
                groupBy: $attrs.groupBy || undefined,
                groupByTextProvider: null,
                smartButtonMaxItems: 0,
                smartButtonTextConverter: angular.noop
            };
person byteC0de    schedule 30.05.2016
comment
Идеальный! Большое спасибо .. Очень ценю ваш быстрый ответ. - person user3342682; 30.05.2016
comment
Пожалуйста, одобрите мой ответ - person byteC0de; 30.05.2016

Нет средства форматирования результатов, которое я мог бы найти. у меня есть обходной путь

который вернет результат

{"метка":"Алабама","id":"AL","parsed":"Алабама AL"}

https://jsfiddle.net/22et6sao/477/

$scope.example14model = [];
$scope.example14settings = {
    scrollableHeight: '200px',
    scrollable: true,
    enableSearch: true,
    externalIdProp : ''
};

$scope.EXeVENTS = {
   onItemSelect : function(item){
     item.parsed = item.label + ' ' + item.id
   }
}

надеюсь, это нормально.

person Saneesh B    schedule 30.05.2016