ng-model
angulardart で複数選択を使用しようとしています。select は、option
によって動的に取り込まれdjango-autocomplete-light
ます。いくつかのオプションを追加しても、(リスト) モデルはまだ空です。
私が見ることができるポイントはありますか?
これは最小限の例です。
テンプレート:
<span id="id_car-wrapper"
class="modern-style autocomplete-light-widget"
data-widget-bootstrap="normal"
data-widget-maximum-values="4" data-widget-ready="1">
<span id="id_expert-deck" class="deck"></span>
<input
type="text"
name="car-autocomplete"
id="id_car-autocomplete" value=""
class="autocomplete"
data-autocomplete-choice-selector="[data-value]"
data-autocomplete-minimum-characters="1"
data-autocomplete-url="/autocomplete/CarAutocomplete/"
placeholder="car's name" autocomplete="off">
<select style="display: none" class="value-select"
name="cars" id="id_expert" multiple="multiple"
ng-model="myctrl.cars"></select>
コントローラ:
@NgController(
selector: '[a-selector]',
publishAs: 'myctrl')
class MyController {
List<String> cars;
}
編集:ギュンターの答えによると、私はこのディレクティブを書きました:
@NgDirective(selector: 'select[multiple]')
class MultipleSelectDirective {
SelectElement _selectElement;
Compiler _compiler;
Injector _injector;
DirectiveMap _directiveMap;
MultipleSelectDirective(Element this._selectElement, this._injector, this._compiler, this._directiveMap) {
_selectElement.addEventListener('DOMNodeInserted',
(_) => _compiler(_selectElement.childNodes, _directiveMap)(_injector, _selectElement.childNodes));
_selectElement.addEventListener('DOMNodeRemoved',
(_) => _compiler(_selectElement.childNodes, _directiveMap)(_injector, _selectElement.childNodes));
}
}