#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 неплохо справился с вашей проблемой.