2016-02-09 65 views
0

我有一個選擇4個選項。該值設置爲ng-init,並且只能由用戶從該點進行更改。我所有的初始函數接受由ng-init設置的值並更改值的作品,但未顯示選定的值。在AngularyJs中,爲什麼我的ng-model值沒有設置選定的選項?

<select name="resultShow" class="result-show" ng-init="resultShow=25" ng-change="updateProd(resultShow,prodState,prodType,prodStyle,prodBrand,keywords)" ng-model="resultShow"> 
    <option value="25">25</option> 
    <option value="50">50</option> 
    <option value="75">75</option> 
    <option value="100">100</option> 
</select> 
+0

您是否收到任何錯誤? – Ohjay44

回答

0

這是因爲選擇將添加默認選項,如果模型的viewValue不存在於選擇選項的值之一匹配。

resultShow = 25的viewValue是25與數字數據類型。

目前select可以綁定到數據類型字符串的值。因此存在不匹配。爲了使其工作,我們需要將resultShow的viewValue設置爲25與字符串數據類型

ng-init ="resultShow = '25'" 

將填充選擇下拉菜單。但是數據類型將會改變。

作爲解決方法,請在控制器中嘗試$ scope.resultShow = 25。這將解決問題。

此外,選擇將自動刪除viewValue解析後添加的空選項。

+0

添加了引號並解決了問題。現在看起來很明顯。大聲笑 – dcp3450

0

檢查此功能。我正在使用ng-change來檢測更改。在裏面我只記錄了resultShow的值,我可以看到它獲得了選擇的選項值。

Fiddle Demo

相關問題