Хотите добавить none в качестве значения в select multiple

#javascript #jquery #angularjs #jquery-chosen #angular-chosen

#javascript #jquery #angularjs #jquery-выбранный #angular-выбранный

Вопрос:

Я использую chosen.jquery.js для поля выбора

 <select chosen multiple data-placeholder="Select Body Part(s)"  
ng-options="option.Name as option.Name for option in BodyPartList" ng-model="Body_Part">
      <option value="" disabled>Select Body Part(s)</option> 
</select>
  

Но он показывает только значение-заполнитель данных в случае отсутствия данных в модели.
Я хочу показать «Выбрать часть тела» в качестве опции в списке.
И пользователь не должен выбирать это. Причина в том, что я хочу добавить динамическое «неизвестное» значение в список Body_Parts. Но это не отражается в списке.

Та же работа для select, имеющего одиночный выбор.

Ответ №1:

Я не вижу никаких проблем с вашим кодом как таковым. Например, я пробую это и получаю визуальное поведение, которое, думаю, вам нужно? Я что-то упускаю?

введите описание изображения здесь

Html только для вас с ng-app и т. Д., Javascript является:

 var myApp = angular.module('myApp', ['localytics.directives']);

myApp.controller('MyController', function($scope) { 
  $scope.BodyPartList = [
    { Name: "Arm" },
    { Name: "Leg" }
  ];

  $scope.Body_Part = [];
});
  

Не уверен, что заполнитель данных действительно что-то делает.

Скрипка:http://jsfiddle.net/7187f6d9 /

Тем не менее, это не «работает». В скрипте я поставил обычное поле выбора рядом с выбранным, и выбранный, похоже, неправильно записывает в ng-model. Я не уверен, что с этим.

Комментарии:

1. Похоже, ваш код работает правильно!! пока я пытаюсь то же самое, но, похоже, не работает.

2. Возможно, это версия плагина, которую я использую, отличается от вашего примера. Спасибо!!

Ответ №2:

Вы можете выбрать следующий вариантhttps://harvesthq.github.io/chosen/#optgroup-support

или поместите другой элемент в начало массива со стороны сервера в качестве пользовательской метки и отключите его на стороне клиента с помощью свойств ng-if и $index в ng-repeat и angularjs. Если это имеет смысл, тогда все в порядке, я могу предоставить вам демо.

Ответ №3:

Я надеюсь, что ваш запрос заключается в том, что вы хотите показать держатель места в качестве текущего выбранного значения, но пользователь не должен иметь возможности его выбрать.

Вместо того, чтобы создавать его disabled , сделайте это hidden . Затем отобразите ошибку, если пользователь не выбирает никаких других параметров, используя значение параметра placeholder.

Пример фрагмента добавлен ниже. Если value of select равно Error , напишите case, чтобы вернуть ошибку пользователю.

 <select>
  <option value="Error" hidden>Select any Company</option>
  <option value="Toyota">Toyota</option>
  <option value="Nissan">Nissan</option>
  <option value="BMW">BMW</option>
</select>  


Надеюсь, это поможет! Если нет, отправьте мне свой запрос. 🙂

Комментарии:

1. Я хочу показать его пользователю, но просто не могу выбрать.

2. Тогда, похоже, @Duncan неплохо справился с вашей проблемой.