0

这是我的模板,我正在动态创建要在表单中使用的输入元素。当我提交表单时,没有任何内容传递给update()提交元素上指定的函数,因为似乎没有任何内容绑定到范围。我尝试过通过 id、$index 和诸如此类的方式进行跟踪。用户输入选择应保存为项目对象的数组属性。

是否可以在 Angular 中创建具有嵌套 ng-repeats 的元素,或者我应该查看一些额外的库,如 formly 等。

   <div data-ng-controller="ViewTemplateController">
    <form novalidate>
    <ul>
    <li data-ng-repeat="optionCat in templateData.optionCats track by optionCat._id">
    <h3>{{optionCat.text}}</h3>
        <ul>
            <li data-ng-repeat="option in optionCat.optionz track by option._id">

            <label><h4>{{option.text}} This is a sample</h4></label>
            <input ng-if="(option.typeOf.indexOf('textBox')>-1)" type="text"  ng-model="item.col[$index].textInput" /> 

            <select ng-if="(option.typeOf.indexOf('dropDown')>-1)">
                <option  ng-model="item.col[$index].value_id" ng-repeat="value in option.valueList track by value._id" value="{{value._id}}">
                    {{value.text}}
                </option>
            </select> 

            </li>

        </ul>
    </li>
    </ul>

      <input type="submit" ng-click="update(item)" value="Save" />

      </form>
4

1 回答 1

0

你必须像ng-model="option.textInput"不像那样绑定它ng-model="item.col[$index].textInput"(我假设 item 是你的控制器)。我的意思是您绑定的属性应该是“选项”的一部分。

整线

<input ng-if="(option.typeOf.indexOf('textBox')>-1)" type="text"  ng-model="option.textInput" />
于 2015-11-21T10:07:58.817 回答