Ended up doing this way, by adding a button:

<div ng-repeat="(key, val) in test.testConfig.environment">
            <div class="controls">
                <input class="keyvalueeditor-key ui-autocomplete-input" 
type="text" id="key" value="{{key}}">
                <input class="keyvalueeditor-key ui-autocomplete-input" 
type="text" id="val"  value="{{val}}">
                <button type="button" ng-click="removeEnvironment(key)" 
>-</button>
            </div>
        </div>
        
        <div class="controls">
            <input class="keyvalueeditor-key ui-autocomplete-input" 
type="text" id="key" placeholder="KEY" ng-model="newEnvironment.key">
            <input class="keyvalueeditor-key ui-autocomplete-input" 
type="text" id="val" placeholder="VALUE" ng-model="newEnvironment.val">
            <button type="button" ng-click="addEnvironment(newEnvironment)" 
>+</button>
        </div>


On Monday, June 2, 2014 2:38:59 AM UTC-7, Radkri wrote:
>
> Let's say I have a json response that I want to bind to a form that looks 
> like the following with dynamic fields, how can bind using ng-model in such 
> cases so I don't have to reconstruct the object again? 
>
> <div ng-repeat="(key, val) in test.testConfig.environment">
>             <div class="controls">
>                 <input class="span3" type="text" id="key" value="{{key}}"
>                  *ng-model=?????*
>                   >
>                 <input class="span3" type="text" id="val"  value="{{val}}"
>                  *ng-model=?????*
>                     >
>             </div>
>             <div>
>                  some new key, val runtime after *page loads ?????* where 
> I don't know the key,val in test.testConfig.environment
>             </div>
>         </div>
> And then what if there are new field runtime, say below I want to create a 
> new key, val pair?
>
>
> ```json
> *"test":*
> {
>   "testId": "889d6d32-3159-41cd-b636-be75ddf43abc",
>   "testName": "testName",
>   "testType": "REST",
>   *"testConfig": {*
>     "testId": "889d6d32-3159-41cd-b636-be75ddf43abc",
>     "url": "http://ocalhost:8080/foo/bar;";,
>     "httpMethod": "POST",
>     
>
>
> *"environment": {      "test": "test_value",      "URL": "dev_host"    },*
>     "headers": {
>       "Content-Type": "application/json",
>       "Accept": "application/xml"
>     },
>     "inputBody": "{  \"array\": [    1,    2,    3  ],  \"boolean\": 
> true,  \"null\": null,  \"number\": 123,  \"object\": {    \"a\": \"b\",    
> \"c\": \"d\",    \"e\": \"f\"  },  \"string\": \"Hello World\"}",
>     "outputBody": null,
>     "assertions": {
>       "boolean": "true",
>       "array": "[1,2,3]"
>     }
>   }
> }
> ```
>
> ```xml
> <div class="control-group">
>         <label class="control-label" for="testName">Test Name</label>
>
>         <div class="controls">
>             <input type="text" id="testName" ng-model="test.testName"
>                 placeholder="Test Name" required min="2">
>         </div>
>     </div>
>     
>     <!-- environment -->
>     <div class="control-group">
>         <label class="control-label" for="suiteId">Environment</label>
>     
>         <div ng-repeat="(key, val) in test.testConfig.environment">
>             <div class="controls">
>                 <input class="span3" type="text" id="key" value="{{key}}"
>                     >
>                 <input class="span3" type="text" id="val"  value="{{val}}"
>                     >
>             </div>
>         </div>
>     </div>
>     
>     <!-- URL and post/get type -->
>     <div class="control-group">
>         <div class="controls">
>             <label class="control-label" for="suiteId">URL</label>
>             <label class="control-label" for="suiteId">Type</label>
>         </div>
>         <div class="controls">
>             <input type="text" id="testName" ng-model="test.testConfig.url"
>                 placeholder="URL" required min="2">
>             <input type="text" id="testName" 
> ng-model="test.testConfig.httpMethod"
>                 placeholder="URL" required min="2">
>         </div>
>     </div>
>     
>     <!-- Headers -->
>     <div class="control-group">
>         <label class="control-label" for="suiteId">Headers</label>
>     
>         <div ng-repeat="(key, val) in test.testConfig.headers">
>             <div class="controls">
>                 <input class="span3" type="text" id="key" value="{{key}}"
>                     >
>                 <input class="span3" type="text" id="val"  value="{{val}}"
>                     >
>             </div>
>         </div>
>     </div>
> ```
>

-- 
You received this message because you are subscribed to the Google Groups 
"AngularJS" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to angular+unsubscr...@googlegroups.com.
To post to this group, send email to angular@googlegroups.com.
Visit this group at http://groups.google.com/group/angular.
For more options, visit https://groups.google.com/d/optout.

Reply via email to