1. 程式人生 > >AngularJS中獲取ng-repeat動態生成的ng-model值

AngularJS中獲取ng-repeat動態生成的ng-model值

請關注我的微信公眾號

我的微信公眾號

程式碼

html


<div>
    <div class="modal-header">
        <h3 class="modal-title">用例集全域性引數配置</h3>
    </div>
    <div class="modal-body">
        <table class="table table-hover">
            <thead>
            <tr>
                <th
>
引數</th> <th>引數值</th> </tr> </thead> <tbody ng-repeat="param in params"> <tr> <td>{{param}}</td> <td><input name="test" class="form-control" type
="text" ng-trim="false" ng-model="$parent.conf[$index]"/>
</td> </tr> </tbody> </table> </div> <div class="modal-footer"> <button class="btn btn-primary" ng-click="ok()"> 應用 </button> <button
class="btn btn-warning" ng-click="cancel()">
取消</button> </div> </div>

JS


var ModalInstanceCtrl = function ($scope, $modalInstance, params) {
            $scope.params = params;
            $scope.conf = [];
            $scope.ok = function () {
                console.log($scope.conf);
                $modalInstance.close($scope.conf);
            };
            $scope.cancel = function () {
                $modalInstance.dismiss('cancel');
            };
        };

問題描述

因為ng-modelng-repeat動態生成的,ng-model=”變數”,什麼變數,是未知的,所以你無法在$scope."變數"取到值,就算取到值也是其中一個值,這個問題困擾了我一天,終於解決了。

解決方法

首先ng-model設定為$parent.conf[$index]:

  • $parent的原因是ng-repeat產生的,他會為每一個input生成一個子scope物件,而$parent表示用父類的scope,這樣我們在JS檔案中才能取到該值。
  • $index代表的意思是ng-repeat="param in params"遍歷時的下標
  • conf是我們在js中的變數名

我們在controller中定義了一個$scope.conf = [];就是一個數組,剛好通過上面的程式碼,為該陣列添加了元素,然後我們通過scope.conf剛好把ng-model的所有元素自動儲存了。

實際效果

這裡寫圖片描述

相關推薦

AngularJS獲取ng-repeat動態生成ng-model

請關注我的微信公眾號 程式碼 html <div> <div class="modal-header"> <h3 class

AngularJS,如何給動態生成的元素繫結事件

1 . 我們知道在jquery中,動態生成一個元素,如果要在動態生成元素的同時,動態繫結事件,可以通過live/on方法(在jquery3.0中已經廢除了bind方法)。 2 . 在angularjs中,操作DOM一般在指令中完成,事件監聽機制是在對於已經靜態

angularjs select標籤使用ng-repeat標籤之後,ng-model無法更新問題解決

    angularjs select標籤使用ng-repeat標籤之後,ng-model無法更新問題,百度了一下沒有發現原因,後來採用了jquery的方式進行首次賦值,如下過程: 我也遇到過這樣

ng-repeat產生的ng-model取不到的問題

最近遇到在ng-repeat產生的textarea中繫結ng-model後,在js中取不到ng-model值的問題。html的程式碼結構如下 <div class="ques-item hide1 show9a" id="q10"> &

ng-repeat下使用ng-class動態設定表格td字型樣式

最近專案剛好遇到在ng-table下使用ng-repeat下使用ng-class動態設定td標籤字型顏色 直接上程式碼: 如果要根據不同情況進行多個樣式設定就在每個樣式中間加上逗號就好。另外,還

在Power BI根據使用者選擇動態生成帶過濾條件的報表URL (Dynamic URL Link)

Power BI Online Service前幾個與的更新中提供了一個新功能:Filter a report using query string parameters in the URL,也就是允許使用者對釋出到Power BI Service的報表UR

在IAR、Keil等工程程式碼獲取編譯時間自動生成版本資訊的方法

我們在進行一些微控制器開發時,經常都需要手動新增版本號或者生成時間,這使得有時候變得繁瑣。最近發現一種可以根據編譯時間自動獲取系統時間資訊的方法,其實就是使用C語言中的兩個巨集__DATE__和__TIME__。 __DATE__用於獲取系統日期,而__TIME__用於獲取

js在div下動態生成

1、獲取div節點1var div = document.getElementById('divid');//獲取一個id是divid的div節點,往這個節點中新增p節點2、動態生成p節點12var p = document.createElement('p');//建立p節

SilverlightDataGrid控制元件動態生成列並結合DataPager進行分頁

1、準備一個實體類 using System; using System.Collections.Generic; using System.Linq; using System.Web; /// <summary> ///電流資料 的摘要說明 /// <

shell 腳本獲取mysql多個字段的

mysql 腳本 shel 從mysql中查詢出的結果為:mysql -Ne "SELECT ip,port FROM op.host WHERE os=‘linux‘ and type=‘支持‘" +------------+------+ | 10.3.1.155 | 22 | | 10.

react使用antdesignform元件,動態設定Input的

問題: 在使用Antdesign的form元件時,通過initialValue來設定Input的值,在form未驗證之前,可以通過initialValue來對input賦值,但是form驗證之後,雖然state中存在值,但是不能在input中顯示,form也不能再次提交,程式碼如下所示:

Java獲取一個數組的最大和最小

先定義一個數組,獲取其中的最大值和最小值 package Hello; public class test { public static void main(String[] args) {

資料庫之獲取最後一個自動生成的ID的函式

    last_insert_id()函式自動返回最後一個insert或update為auto_increment列設定的第一個發生的值.該函式在你建立完表後使用插入語句insert一條記錄一條記錄進行插入時沒有問題,但是當你使用insert語句同時插入多條記錄時會出現與你

Maven: 如何在properties檔案獲取maven的 pom.xml 的鍵

轉自:http://blog.csdn.net/bigtree_3721/article/details/51898095如何在properties檔案中獲取maven的 pom.xml 的鍵值?答案就是:在資原始檔(*.properties)中放置pom.xml預先設定的變

JDK1.8--體驗Stream表示式,從一個物件集合獲取每一個物件的某一個返回新集合

xl_echo編輯整理,歡迎轉載,轉載請宣告文章來源。更多IT、程式設計案例、資料請聯絡QQ:1280023003 百戰不敗,依不自稱常勝,百敗不頹,依能奮力前行。——這才是真正的堪稱強大!! 開發工具eclipse package com.echo

Maven: 如何在properties檔案獲取maven的 pom.xml 的鍵

如何在properties檔案中獲取maven的 pom.xml 的鍵值? 答案就是:在資原始檔(*.properties)中放置pom.xml預先設定的變數, 在執行mvn package時就會自動將變數替換為真實值 例如: 1. 我們在src\main\resource

angularJsng-repeat遍歷動態生成的表單元素繫結ng-model無效的問題

  我在做練習中偶然遇到這個問題,與大家分享一下。我也是剛開始接觸angularJs,相信也有人同樣遇到過。   問題描述:在使用anjularJs框架核心模組ng雙向資料繫結,在ng-repeat遍歷物件或陣列的時候,用ng-model繫結動態生成表單元素時,利用$sco

AngularJS 獲取ng-repeat動態ng-model

con $scope 對象 文件 spec input ram ng-repeat ng-model 首先ng-model設置為$parent.conf[$index]: 用$parent的原因是ng-repeat產生的,他會為每一個input生成一個子scope對象,而

angularJS動態生成的頁面ng-click無效解決辦法

今天碰到了一個這樣的需求,在自己寫的動態的頁面中,寫入的AngularJS無效不能點選響應事件,以下給出程式碼以及解決方案 1.首先將我們要賦值給頁面的資料new一下 var html = "<a href='javascript:void(0);' ng-click=

AngularJsng-repeat動態使用ng-model進行雙向資料繫結

首先說明一下功能需求: 當點選一次增加按鈕的時候,下方就會多一行輸入框; 當點選一次刪除按鈕的時候,所點選的刪除按鈕那行的輸入框會消失; 當點選列印資訊按鈕的時候,把所有輸入框中的資料讀取出來,並列印到控制檯上。 由此可看出,帶有刪除按鈕的這部分DIV是動態的。