2014-11-27 1 views
0

Здесь я определил свой код, пожалуйста, помогите мне в этом. Я использую angularjs в шаблоне лопатка двигателя Laravel, в этом я не мог динамически присвоить имя нг-модели в угловомAngularjs назначает динамическое имя ng-модели при построении элементов в списке?

$scope.categoryChange=function(id,model){ 
 
    \t $scope.getCategories(id,model); 
 
     };//category change 
 
     orgusers=0; 
 
     $scope.users = new Array(); 
 
     $scope.addUsers = function(){ 
 
     \t if($scope.totalExperts>0){ 
 
     \t \t orgusers++; 
 
      \t newUser={"name":"name"+orgusers,"model":"expertise"+orgusers,"category":"empcategory"+orgusers}; 
 
      \t $scope.users.push(newUser); 
 
      \t if($scope.totalExperts!='' && $scope.totalExperts>0){ 
 
      \t \t $scope.totalExperts--; 
 
      \t } 
 
     \t }else{ 
 
     \t \t alert("To add users please input total experts field ."); 
 
     \t \t document.getElementById('focusIt').focus(); 
 
     \t } 
 
     }; 
 
     $scope.removeUser = function(removeUser){ 
 
     \t $scope.users.splice($scope.users.indexOf(removeUser),1); 
 
     \t if($scope.totalExperts!='' || $scope.totalExperts==0){ 
 
     \t \t $scope.totalExperts++; \t 
 
     \t } 
 
     }; 
 
$scope.getCategories=function(catId,model){ 
 
     \t experts=new Array(); 
 
     \t angular.forEach($scope.categories, function(value,key) { 
 
     \t \t if(catId==value.parent){ 
 
     \t \t \t experts[key]={id:value.id,name:value.category}; 
 
     \t \t } 
 
     \t  }); 
 
     \t $scope[model]=experts; 
 
     };
<div> 
 
    <ul style="list-style-type: none;"> 
 
    <li ng-repeat="user in users"> 
 
    <label>Name:</label><input type="text" name="<%user.name%>" /> 
 
    <label style="display:inline-block;">Email:</label><input type="text" name="empemail[]" /> 
 
    <label style="display:inline-block;">Phone:</label><input type="text" name="empphone[]" /> 
 
    {{ Form::label('select category','',array('style'=>'display:inline-block;')) }} 
 
\t <select name="empcategories[]" ng-model="<%user.name%>" ng-options="k as v for (k,v) in mainCategories" ng-change="categoryChange(emp1,'<%user.model%>')" ></select> 
 
\t {{ Form::label('Expertise','',array('style'=>'display:inline-block;')) }} 
 
\t <select name="empspecialized[]" ng-model="empspecialization" ng-options="k as v.name for (k,v) in <% user.model %>"> 
 
\t </select> 
 
\t <button ng-click="removeUser(user)">-</button> 
 
    </li> 
 
    </ul> 
 
    </div>

Ошибка: [ngModel: nonassign] Выражение '<% user%> 'не назначается. Элемент: любые предложения или решения, ждут заранее спасибо

ответ

0

Я нашел решение моего вопроса. Ошибка, которую я сделал, в этом попытался присвоить значение, которое не может быть присвоено значению опции выбора, как модель значение, и я изменил это на следующий код для меня.

<div> 
<ul style="list-style-type: none;"> 
<li ng-repeat="user in users"> 
<label>Name:</label><input type="text" name="<%user.name%>" /> 
<label style="display:inline-block;">Email:</label><input type="text" name="empemail[]" /> 
<label style="display:inline-block;">Phone:</label><input type="text" name="empphone[]" /> 
{{ Form::label('select category','',array('style'=>'display:inline-block;')) }} 
<select name="empcategories[]" ng-model="user.category" ng-options="k as v for (k,v) in mainCategories" ng-change="categoryChange(user.category,'<%user.model%>')" ></select> 
{{ Form::label('Expertise','',array('style'=>'display:inline-block;')) }} 
<select name="empspecialized[]" ng-model="empspecialization" ng-options="k as v.name for (k,v) in <% user.model %>"> 
</select> 
<button ng-click="removeUser(user)">-</button> 
</li> 
</ul> 
</div> 

В результате я обязательно здесь я должен передать выбранный параметр идентификатор, к моему вызывающему методу, так что я могу соответствовать и производить список подкатегорий. Я надеюсь, что это вам поможет, спасибо