2015-02-23 2 views
0

Я хочу, чтобы [Формат представления данных] был применен к [Раскрывающийся список]. Мне нужно, чтобы «родитель» был представлен как внутри раскрывающегося списка, но мне нужно, чтобы «ребенок» был представлен с вкладкой [tab], чтобы показать отношения родитель-потомок.Угловой ng-переключатель внутри опции выбора

$ scope.itemlist будет подготовлен в порядке (т.е. parenta, childa1, childa2, parentb, childb1, childb2)

HTML-:

<div ng-controller="MyCtrl"> 
<h1>-- Data Presentation Format --</h1> 
<ul> 
    <li ng-repeat="item in itemlist"> 
     <div ng-switch on="item[1]"> 
      <div ng-switch-when="Parent">{{item[0]}}</div> 
      <div ng-switch-default>&emsp;{{item[0]}}</div> 
     </div>  
    </li> 
</ul> 
<br/> 
<h1>-- Dropdown Box --</h1> 
<select ng-model="loc1" ng-options="item[0] for item in itemlist"> 
    <option value="">Item</option> 
</select> 
<br/><br/> 
<h1>-- What I Got --</h1> 
<select ng-model="loc2"> 
    <option ng-repeat="item in itemlist"> 
     <div ng-switch on="item[1]"> 
      <div ng-switch-when="Parent">{{item[0]}}</div> 
      <div ng-switch-default>&emsp;{{item[0]}}</div> 
     </div>  
    </option> 
</select> 

Javascript:

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

function MyCtrl($scope) { 
$scope.itemlist = 
    [ 
    ["Unit A", "Parent"], 
    ["Room A", "Child"], 
    ["Room B", "Child"], 
    ["Room C", "Child"], 
    ["Room D", "Child"], 
    ["Room E", "Child"], 
    ["Unit 1", "Parent"], 
    ["Room 1", "Child"], 
    ["Room 2", "Child"], 
    ["Room 3", "Child"] 
    ]; 
} 

JsFiddle здесь: http://jsfiddle.net/HB7LU/11174/

+0

дивы внутри неверная опция HTML –

ответ

0

Я не думаю, что вы можете использовать   внутри элемента option, так как он не отображается как html. Если вы настаиваете на использовании этого элемента, а не на каком-то выпадающем списке jQuery (который в основном является a), я бы предложил использовать тире или аналогичные иллюстрации родительских/дочерних отношений.

http://jsfiddle.net/HB7LU/11177/

Я решил его с помощью функции форматирования я помещен на сферу

$scope.formattedItem = function(item) { 
    return item[1] === 'Parent' ? item[0] : '--' + item[0]; 


<select ng-model="loc2"> 
    <option ng-repeat="item in itemlist" > 
     {{formattedItem(item)}} 
    </option> 
</select> 
+0

я вижу :(спасибо! – Raii

 Смежные вопросы

  • Нет связанных вопросов^_^