如何动态设置Angularjs select的值?

时间:2019-05-21 15:25:45

标签: javascript angularjs select angularjs-select

在Angularjs中,我尝试从程序动态设置选项。但是,我无法设置。

请支持。

验证评论的参考链接以获取更多详细信息。

预先感谢!

data = [1.1, 2.2, 3.3, 4.4]
conn = pyodbc.connect(myString) 
cur = conn.cursor()
cursor.fast_executemany = True
cursor.executemany('insert into testTable (col) values(?);'(data[0:3]))
conn.commit() 
<div ng-app="myApp">
    <div ng-controller="AppCtrl">
        "AngularJS select example"
        <br />
         <br />
        <select ng-model="mail_notification" ng-change="plotRulegraph()">
           <option ng-selected="{{ option.key == mail_notification }}"
                   ng-repeat="option in mail_notifications"
                   value="{{option.key}}">
             {{option.value}}
           </option>
        </select>
        <br />                
    </div>
</div>

1 个答案:

答案 0 :(得分:1)

请勿将ng-selectedng-model一起使用。

当值是字符串以外的其他类型时,请使用ng-value指令:

<div ng-app="myApp">
    <div ng-controller="AppCtrl">
        "AngularJS select example"
        <br />
         <br />
        <select ng-model="mail_notification" ng-change="plotRulegraph()">
           <option ̶n̶g̶-̶s̶e̶l̶e̶c̶t̶e̶d̶=̶"̶{̶{̶ ̶o̶p̶t̶i̶o̶n̶.̶k̶e̶y̶ ̶=̶=̶ ̶m̶a̶i̶l̶_̶n̶o̶t̶i̶f̶i̶c̶a̶t̶i̶o̶n̶ ̶}̶}̶"
                   ng-repeat="option in mail_notifications"
                   ̶v̶a̶l̶u̶e̶=̶"̶{̶{̶o̶p̶t̶i̶o̶n̶.̶k̶e̶y̶}̶}̶"̶
                   ng-value="option.key">
             {{option.value}}
           </option>
        </select>
        <br />                
    </div>
</div>

通过使用双居里括号{{ }}进行插值,值将转换为字符串。比较值时,<select>指令使用严格的相等性。数字键不等于字符串键。 ng-value指令保留正确的类型。

从文档中:

  
    

注意:ngSelected不与<select>ngModel伪指令交互,它仅在元素上设置选定的属性。如果在ngModel上使用<select>,则不要在选项上使用ngSelected,因为ngModel将设置<select>的值和选定的选项。 / p>   

     

AngularJS ng-selected Directive API Reference

有关更多信息,请参见


更新

该示例需要AngularJS V1.5或更高版本。

DEMO on PLNKR