2017-06-09 2 views

Antwort

0

für Uhr in Winkel der Wert auf Änderung, die Sie ng-change verwenden sollten und ng-model

var app = angular.module("app", []). 
 
controller("ctrl", function($scope) { 
 
    $scope.info = { 
 
    parameter: 30, 
 
    parameters: { 
 
     children: 40 
 
    } 
 
    }; 
 
    
 
    $scope.callBackIfChange = function(){ 
 
    console.log($scope.info); 
 
    } 
 

 
})
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script> 
 

 
<div ng-app="app" ng-controller="ctrl"> 
 

 
    <form> 
 
    <label>empty value</label> 
 
    <input type="text" ng-model="info.name" ng-change="callBackIfChange()"> 
 
    <br> 
 
    <br> 
 
    <label>has default value</label> 
 
    <input type="number" ng-model="info.parameter" ng-change="callBackIfChange()"> 
 
    <br> 
 
    <br> 
 
    <label>nested</label> 
 
    <input type="number" ng-model="info.parameters.children" ng-change="callBackIfChange()"> 
 
    </form> 
 
    <hr> 
 
    <b>output:</b> {{info | json}} 
 
    
 
</div>

+0

Vielen Dank, aber wenn existiert eine andere Eingabe oben als Eltern, und wie Sie den Wert der Eingabe unten zu Objekt oben einfügen? Ich meine verschachtelte Struktur: {Parameter: {Kinder: 40}} – sdfsf

+0

Antwort aktualisiert ... – Maher

0

Hier ist der jQuery-Code abdeckt Ihre Fälle (onload und Eingabe ändern) ohne Hartcodierung die Namen Attribut der Eingänge tags:

var inputValuesObj = {}; // << Your Object 

$(document).ready(function() { 
    getDefaultInputValues(); 
}); 

$(document).on("load keyup", "input", function() { 
    getDefaultInputValues(); 
}); 

function getDefaultInputValues() { 
    $("input").each(function(index) { 
     inputValuesObj[$(this).attr("name")] = $(this).val(); 
    }); 
    $("div#res").html(JSON.stringify(inputValuesObj)); 
} 

Ihr Test hier - https://jsfiddle.net/uo08fedh/20/

Hoffe es hilft!

Verwandte Themen