Javascript 在ng重复循环内更改ng模型

Javascript 在ng重复循环内更改ng模型,javascript,angularjs,angular-ngmodel,ng-bind,Javascript,Angularjs,Angular Ngmodel,Ng Bind,我试图根据循环对象的$index of ng repeat或key将ng模型绑定到输入 我试过这样做 <div data-ng-repeat="(key, n) in langInput.values"> <div class="col-lg-12 col-md-12 col-sm-12 col-xs-12 u-no-padding"> <label class="sell__label" for="auction_name_account_

我试图根据循环对象的$index of ng repeat或key将ng模型绑定到输入

我试过这样做

<div data-ng-repeat="(key, n) in langInput.values">
    <div class="col-lg-12 col-md-12 col-sm-12 col-xs-12 u-no-padding">
        <label class="sell__label" for="auction_name_account_{{n.selected }}">Główna nazwa Twojej aukcji ({{n.selected }}):</label>
        <div class="pst-relative">
            <input type="text"
                   id="auction_name_account_{{n.selected }}"
                   class="form-control"
                   name="auction_name_account"
                   data-ng-model="inputs.auction_name_account[$index]"
                   data-ng-minlength="10"
                   data-ng-maxlength="60"
                   required />
            <span class="sell__input-text sell__input-text--big-input" data-ng-show="sellItem.auction_name_account.$error.required">Wymagane!</span>
            <span class="sell__input-text sell__input-text--big-input" data-ng-show="sellItem.auction_name_account.$error.minlength">Za krótkie!</span>
            <span class="sell__input-text sell__input-text--big-input" data-ng-show="sellItem.auction_name_account.$error.maxlength">Za długie!</span>
        </div>
    </div>
</div>
<div data-ng-repeat="(key, n) in langInput.values">
    <div class="col-lg-12 col-md-12 col-sm-12 col-xs-12 u-no-padding">
        <label class="sell__label" for="auction_name_account_{{n.selected }}">Główna nazwa Twojej aukcji ({{n.selected }}):</label>
        <div class="pst-relative">
            <input type="text"
                   id="auction_name_account_{{n.selected }}"
                   class="form-control"
                   name="auction_name_account"
                   data-ng-model="inputs.auction_name_account[key]"
                   data-ng-minlength="10"
                   data-ng-maxlength="60"
                   required />
            <span class="sell__input-text sell__input-text--big-input" data-ng-show="sellItem.auction_name_account.$error.required">Wymagane!</span>
            <span class="sell__input-text sell__input-text--big-input" data-ng-show="sellItem.auction_name_account.$error.minlength">Za krótkie!</span>
            <span class="sell__input-text sell__input-text--big-input" data-ng-show="sellItem.auction_name_account.$error.maxlength">Za długie!</span>
        </div>
    </div>
</div>
结果是,我的ng模型是
输入。拍卖名称\帐户[$index]
输入。拍卖名称\帐户[key]
与我想要的不一样

我希望
ng model=“value”
的值是唯一的



以下是。

确保在输入中初始化数组(如果希望它是一个简单数组,否则默认情况下它将是一个对象):

见plunk:

(还要注意的是,因为输入有一个最小长度,所以在超过10个字符之前,它不会显示在模型中,否则它将显示为null)

要使错误范围正常工作(在下面的注释中回答问题),您需要在输入中修改名称以包含索引:

name="auction_name_account_{{value.selected}}"
然后在跨度中使用该名称(假设表单名为“sellItem”):

Wymagane!

my controller中的$scope.inputs.auction\u name\u帐户数组是什么?它只是
$scope.inputs={}
另外,$scope.langInput.values似乎是一个数组,但您可以将其作为对象或字典进行循环。然后,它上的auction\u name\u帐户未定义,因此您不能将其作为对象或数组进行调用。您可能需要先对其进行初始化。您能在这里修复它吗?fork new plnkr并将其作为答案发布?在我的SPA中,该验证如何可能跨越以下行为,就像它在plunker上连接到这两者一样,它工作正常。我的意思是,在我的应用程序中,当我有1个输入正确,1个输入不正确时,两个span都显示它是不正确的,你说它们“都显示它是错误的”是什么意思?您的意思是,在模型中的值都正确之前,它们都显示为null吗?我建议将实际值打印到屏幕上,看看什么时候你会得到什么。那么-当我在第一个1中写15个符号,在第二个1中写0个符号时,这两个符号的跨度都是“必需的”,然后当我在第一个1中写15个符号,在第二个1中写1个符号时,这两个符号的跨度都是“太短”的然后,当我在第一个字母中写15个符号,在第二个字母中写150个符号时,都显示跨度“太长”。我打印了
{{inputs}}
的值,它正在正确更新。我已经更新了我的答案(和Plunkr)以包含@BT101
$scope.inputs = {
    auction_name_account: [];
};
name="auction_name_account_{{value.selected}}"
<span class="error sell__input-text sell__input-text--big-input" data-ng-show="sellItem.auction_name_account_{{value.selected }}.$error.required">Wymagane!</span>