想要在select multiple中添加none作为值

时间:2016-10-19 14:19:08

标签: javascript jquery angularjs jquery-chosen angular-chosen

我使用selected.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>

但是,如果模型中没有数据,它仅显示数据占位符值。 我想展示&#34;选择身体部位&#34;作为列表中的选项。 并且用户不能选择此项。原因是,我想添加动态&#34;未知&#34; Body_Parts列表中的值。但它没有反映在列表中。

选择具有单一选择的相同工作。

3 个答案:

答案 0 :(得分:8)

我没有看到您的代码有任何问题,因此。就像,我正在尝试并获得您认为您想要的视觉行为?我错过了什么吗?

enter image description here

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/

那就是说,它不是&#34;工作&#34;。在小提琴中,我将一个常规选择框放在所选择的框旁边,并且所选择的框似乎没有正确地写入ng模型。我不知道该怎么做。

答案 1 :(得分:1)

您可以选择以下选项 https://harvesthq.github.io/chosen/#optgroup-support

或者在服务器端将另一个项目作为自定义标签推送到数组的顶部,并在ng-repeat和angularjs的ng-if和$ index属性的帮助下将disable it推送到客户端。如果这有意义,那么其他我可以给你一个演示。

答案 2 :(得分:1)

我希望您的查询是,您希望将占位符显示为当前选定的值,但用户不应该选择它。

不要将其设为disabled,而是将其设为hidden。如果用户未使用占位符选项的值选择任何其他选项,则会显示错误。

下面添加了一个示例代码段。如果value的{​​{1}}为select,请写一个案例以向用户发送错误。

&#13;
&#13;
Error
&#13;
&#13;
&#13;

希望这有帮助!如果没有,请用你的查询ping我。 :)