Javascript 在ng重复循环内更改ng模型
我试图根据循环对象的$index of ng repeat或key将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_
<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>