1. 程式人生 > >使用angularjs的ng-options時如何設定預設值(初始值)

使用angularjs的ng-options時如何設定預設值(初始值)

  這兩天我用ng-options過程中遇到的初始值為空白的問題,記得去年就遇到過,怎麼解決的忘記了,費了一陣子功夫之後解決了,想記下來,方便遇到同樣問題的小夥伴當然還有自己。

  1.場景:

      就是做一個查詢列表的彈窗,其中有一個條件需要用到下拉選單,資料是用過ajax傳遞過去的。

     

  2.實現:

    a.html:

  <select ng-model="myselect" ng-options="o for o in options"></select>
    b.js:
  var url = 'xxxxxx';//該url只是舉例,具體的程式碼要寫可用的請求地址。
  $http.post(url).
               success(functoin(data){
                  $sope.options=data; //賦值給ng-options     
             });
  我當時以為,html寫好,動態資料傳遞給ng-options,這樣下拉選單就可以用了。執行之後也大致正常,只是下拉選單是空白的,點選之後出現後臺傳遞的資料,就多了第一

個的空白項,點選彈出所有的下拉選項,選擇要選的選項之後,空白項就又消失了。


 

  檢視瀏覽器中載入好的html發現<select>標籤中多了一個非後臺傳遞的option:

  <select ng-model="myselect" ng-options="o for o in options">
  <option value="?"></option>
  <option value="0">--請選擇--</option>
  .
  .
  </select>
  有點諷刺的是,我去年開發的一個頁面中的下拉選單就遇到過這個問題,當時費了老大功夫才解決,但是怎麼解決的竟然忘記了,哭,沒辦法,我又試了一通ng-init都不行,依然出現空白的選擇首先展示出來。

  想了一下這個value="?" 有時候是“undefind”應該是ng-model="myselect"的初始值,當後端資料傳遞過來賦值給options之後(即:

 $sope.options=data;
),angularjs一定是沒有覆蓋select的原始option,即$scope.myselect=undefind,而是在這個option基礎上加上了後端傳遞過來的data資料,從而導致頁面上下拉選單中多出一個空白的下拉選項。

  按照這個思路,又查了一下stackoverflow中的一些說法,我將js改成從為options賦值時就初始化myselect:

  var url = 'xxxxxx';//該url只是舉例,具體的程式碼要寫可用的請求地址。
  $http.post(url).
               success(functoin(data){
                  $scope.options=data; //賦值給ng-options  
                  $scope.myselect = $scope.options[0];   
             });
  這樣,問題真的解決了。 

相關推薦

使用angularjs的ng-options如何設定預設(初始)

  這兩天我用ng-options過程中遇到的初始值為空白的問題,記得去年就遇到過,怎麼解決的忘記了,費了一陣子功夫之後解決了,想記下來,方便遇到同樣問題的小夥伴當然還有自己。   1.場景:       就是做一個查詢列表的彈窗,其中有一個條件需要用到下拉選單,資料是用過

angularjs的ng-options如何設置默認(初始)

-m item 如何 lrj then select model option color hhtml:<select ng-change="change2()" ng-model="selected" ng-options="item.id for i

如何給Python dict設定預設的返回(value)

 兩種方法: dict.get(key , default=None) dict.setdefault(key, default=None) 以上二者呼叫返回的結果完全相同,都是當dict中不含有該鍵時,返回後面你給的預設值; 但二者也有區別——ge

img圖片不存在設定預設圖片

當在頁面顯示的時候,萬一圖片被移動了位置或者丟失的話,將會在頁面顯示一個帶X的圖片,很是影響使用者的體驗。即使使用alt屬性給出了"圖片XX"的提示資訊,也起不了多大作用。 其實,可以這樣處理:當圖片不存在的時候,會觸發onerror事件,我們可以在該事件中做一下補救的工作, <img src=

WdatePicker時間控制元件設定日期欄中分秒的初始

WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',startDate:'%y-%M-%d 00:00:00'})設定時分秒初始值為00:00:00 WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',st

java 反射: 當Timestamp型別的屬性為null設定預設

import java.beans.PropertyDescriptor; import java.lang.reflect.Field; import java.lang.reflect.Method; import java.sql.Timestamp; class Person {

java基本資料型別初始(預設) ,在設計資料庫造成的問題

        首先,看看我所遇到的問題:JSP接收資料——》對應的資料庫表對映類A——》oracle,在這個過程中的類A有一個全域性的int變數,對應JSP上的一個input,同時在oracle中設計了一個number進行儲存。在設計中我們允許在JSP上的input中不填

DB2查詢如果為null設定預設

今天在查詢中遇到一個問題,那就是在做左連線查詢時,右表沒有資料,DB2會給一個預設的null值,但在ibatis中我是用int型別接收的,所以就會報錯。 在網上查了一下發現SQL語句中是可以在查詢不到

在RHEL7或CentOS7中修改建立賬號系統預設UID、GID最小起始及其他設定

大家應該都知道,在Linux系統中,1000以下的UID是系統保留的UID。隨意修改系統上某些帳號的 UID 很可能會導致某些程式無法進行,甚至導致系統無法順利執行。我們可以通過/usr/share/doc/setup-2.8.71/uidgid來檢視具體對應關

類型初始設定項引發異常的解決方法

實例 nbsp fig str winform 引用 setting .config orm 1、檢查類中的靜態字段或屬性,確保其能夠正常的完成初始化 2、在類的構造函數中,確保其訪問的屬性或字段都已經完成初始化 3、如果是WinForm中,將訪問的窗體控件的語句寫在初始化

“Microsoft.SqlServer.Management.Dmf.PolicyStore”的理性初始設定項引發異常.

man pro 設定 sqlserver sql trace soft sof rac SQLServer2008 錯誤:“Microsoft.SqlServer.Management.Dmf.PolicyStore”的理性初始值設定項引發異常。 解決辦法: 下載Mic

Net使用RdKafka引發異常RdKafka.Internal.LibRdKafka 的類型初始設定項引發異常

edi 異常 lib internal not .lib tail except asp 在Net中VS2015用RdKafka組件開發消息發布和消費,引發下面的異常 RdKafka.Internal.LibRdKafka 的類型初始值設定項引發異常System.Type

Emgu.CV.CvInvoke的類型初始設定項引發異常

到你 兩個 環境變量 設定 c盤 添加 文件夾 安裝 可能 被這個問題蛋疼了一個下午,終於解決了。我的服務器出現這個問題的原因:可能是沒有安裝emgucv。 解決方法: 1.下載並安裝emgucv 下載地址:鏈接: https://pan.baidu.com/s/1slyW

C# 出現System.TypeInitializationException類型初始設定項引發異常

log pan blog body 提示 不同 pos conf system 描述:提示在DAL.SQLHepler出現該異常。 解決:connectionString寫在AppConfig裏面,但是在引用的時候寫錯name。註意ConnectionStrings["XX

“SAP.Middleware.Connector.RfcDestinationManager”的類型初始設定項引發異常

ram 針對 href dll true 報錯 strong startup https 在VS2015中使用SAP Connector 3.0(SapNco)的.net4.0x86版本開發時,程序運行到RfcDestinationManager.TryGetDestina

MathWorks.MATLAB.NET.Arrays.MWArray”的類型初始設定項引發異常 解決方法

dll clas 設定 nbsp war work works body 重新安裝 原因 用的是matlab7運行時,後面又安裝了matlab11,後面又重新安裝了matlab7運行時,c盤下就有二個運行時的版本了,程序引用了後面的那個,編譯後就出上面的問題 解決方法

修改machine.config遇到System.Net.ServicePointManager 的類型初始設定項引發異常

之間 遇到 -- web spa system int conf 應該 <system.net>節點應該在</configuration>上面添加,即config頁尾。 而不是在<configuration> 後面添加。

“SYSTEM.DATA.SQLCLIENT.SQLCONNECTION”的類型初始設定項引發異常---解決方案

conf mach med microsoft fault .sql def nec -s “System.Data.SqlClient.SqlConnection”的類型初始值設定項引發異常 問題出在了 .net 的C:\WINDOWS\Microsoft.NET\F

vue裡面的省市區三級聯動vue-area-linkage,設定初始和把修改的傳給後臺

vue-area-linkage 點這裡看demo:https://dwqs.github.io/vue-area-linkage/ 安裝 這裡安裝v5之後的版本   npm i --save vue-area-linkage area-data  

Android系統設定預設大全

一、是否有預設值 在尋找一個開關的預設值時,首先要明白一點,該開關是否存在預設值,以及該開關狀態是否有狀態儲存(一般狀態儲存在settings的db中)。 判斷條件: 在reboot(重啟)之後開關狀態仍舊儲存或者是在reset(恢復出廠設定)之後開關狀態恢復到預設的,才能找到預設值。