在下拉指令中设置默认选项

时间:2017-02-03 07:04:10

标签: angularjs

我有一个月指令。但我无法在该指令中添加默认选项,因为它需要某个地方而某个地方则不需要。

这是指令:

App.directive('monthdir', function () {
    return {
        restrict: 'A',
        template:
            '<option value="1">January</option>' +
            '<option value="2">February</option>' +
            '<option value="3">March</option>' +
            '<option value="4">April</option>' +
            '<option value="5">May</option>' +
            '<option value="6">June</option>' +
            '<option value="7">July</option>' +
            '<option value="8">August</option>' +
            '<option value="9">September</option>' +
            '<option value="10">October</option>' +
            '<option value="11">November</option>' +
            '<option value="12">December</option>'
    };
});

我已添加默认选项但未显示。请帮帮我,我该怎么做。

<select ng-model="Month" class="chosen-select input-md" chosen="" ng-required ng-change="ChangeUser()" month-options>
      <option value="" selected="selected">Choose</option>
</select>

2 个答案:

答案 0 :(得分:0)

您必须在模板本身中插入该默认选项。 &#13; &#13; App.directive(&#39; monthdir&#39;,function(){&#13;     返回{&#13;         限制:&#39; A&#39;,&#13;         模板:&#13;             &#39;&lt; option value =&#34; 1&#34;&gt; January&lt; / option&gt;&#39; +&#13;             &#39;&lt; option value =&#34; 2&#34;&gt; February&lt; / option&gt;&#39; +&#13;             &#39;&lt; option value =&#34; 3&#34;&gt; March&lt; / option&gt;&#39; +&#13;             &#39;&lt; option value =&#34; 4&#34;&gt; April&lt; / option&gt;&#39; +&#13;             &#39;&lt; option value =&#34; 5&#34;&gt; May&lt; / option&gt;&#39; +&#13;             &#39;&lt; option value =&#34; 6&#34;&gt; June&lt; / option&gt;&#39; +&#13;             &#39;&lt; option value =&#34; 7&#34;&gt; July&lt; / option&gt;&#39; +&#13;             &#39;&lt; option value =&#34; 8&#34;&gt; August&lt; / option&gt;&#39; +&#13;             &#39;&lt; option value =&#34; 9&#34;&gt;九月&lt; / option&gt;&#39; +&#13;             &#39;&lt; option value =&#34; 10&#34;&gt;十月&lt; /选项&gt;&#39; +&#13;             &#39;&lt; option value =&#34; 11&#34;&gt; 11月&lt; / option&gt;&#39; +&#13;             &#39;&lt; option value =&#34; 12&#34;&gt;十二月&lt; /选项&gt;&#39; +&#13;             &#39;&lt; option value =&#34; &#34;&GT;选择与LT; /选项&GT;&#39;&#13;       &#13;     };&#13; });&#13; &#13; &#13;

答案 1 :(得分:0)

最糟糕的情况是通过一些JavaScript手动添加它:

var option = document.createElement('option');
option.text = 'Choose';
option.selected = 'selected';
var select = document.querySelector('.chosen-select');
select.insertBefore(option, select.childNodes[0]);

JSFiddle: https://jsfiddle.net/1sazs191/

在指令中选择此选项应该不会太困难。