2015-03-19 108 views
3

我有一个国家名单及其相应的国家。如何在编辑模式下绑定下拉控件?

现在我想在编辑模式下打开时,在下拉控件中绑定国家和州的值。

这是小提琴手链接:

http://jsfiddle.net/mariapithia/4yj8rprp/9/

 <tr data-ng-repeat="friend in friends"> 
         <td><strong>{{ friend.Id }}</strong></td> 
         <td> 
         <p data-ng-hide="friend.editMode">{{ friend.firstname}}</p> 
         <input data-ng-show="friend.editMode" type="text" data-ng-model="friend.firstname" /> 


         </td> 
         <td> 
         <p data-ng-hide="friend.editMode">{{ friend.lastname}}</p> 
         <input data-ng-show="friend.editMode" type="text" data-ng-model="friend.lastname" /> 

         </td> 

         <td> 
         <p data-ng-hide="friend.editMode">{{ friend.Country.Name }}</p> 
          @*How do i use select here for dropdown for binding country name in my dropdown*@ 
       @*<select data-ng-show="friend.editMode"> 
        <option value="">-- Select Country --</option> 
       </select> *@ 
         </td> 
         <td> 
         <p data-ng-hide="friend.editMode">{{friend.State.Name }}</p> 
@*How do i use select here for dropdown for binding state name in my dropdown*@ 
       @*<select data-ng-show="friend.editMode"> 
        <option value="">-- Select State--</option> 
       </select> *@ 
         </td> 
         <td> 
          <p ><a data-ng-click="toggleEdit(friend)" href="javascript:;">Edit</a> | <a data-ng-click="deletefriend(friend)" href="javascript:;">Delete</a></p> 
         </td> 
        </tr> 
       </table> 

像我有使用文本框显示姓名和lastname.sameway我想用下拉列表中显示我的国名和国家名如果用户想要选择,则允许用户从下拉菜单中选择其他国家和州。

我已经采取代码从这个链接略有添加字段: http://www.c-sharpcorner.com/uploadfile/raj1979/crud-operations-in-mvc-5-using-webapi-with-angularjs/

回答

1

这里是你想要的,你可以使用NG选项为国家&发达国家都选择框什么。

HTML

<td> 
    <p data-ng-hide="friend.editMode">{{ friend.Country.Name }}</p> 
    <select data-ng-show="friend.editMode" ng-model="friend.Country" ng-options="country.Name for country in countries track by country.Id "></select> 
</td> 
<td> 
    <p data-ng-hide="friend.editMode">{{friend.State.Name }}</p> 
    <select data-ng-show="friend.editMode" ng-model="friend.State" ng-options="state.Name for state in states track by state.Id "></select> 
</td> 

控制器

$scope.countries = [{ 
    "Id": 1, 
    "Name": "America", 
}, { 
    "Id": 2, 
    "Name": "Australia", 
}, { 
    "Id": 3, 
    "Name": "london", 
}]; 

$scope.states = [{ 
    Id: 1, 
    CountryId: 1, 
    Name: "Chicago", 
}, { 
    Id: 2, 
    CountryId: 2, 
    Name: "sydney", 
}, { 
    Id: 3, 
    CountryId: 3, 
    Name: "abc", 
}]; 

Working Fiddle

通过ID,用于选择负载选项一起使用的轨道作为在这个 github issue

+0

让我们[在聊天中继续讨论](http://chat.stackoverflow.com/rooms/73301/discussion-between-maria-pithia-and-pankajparkar) 。 – CodeScanner 2015-03-19 07:13:46

+0

@MariaPithia抱歉说,但我现在不能加入聊天:( – 2015-03-19 07:15:03

+0

好吧没问题,但只是看到我已经发送你聊天的代码那就是它,然后请编辑你的下拉代码的状态,因为我面临的问题绑定状态下拉只(国家下拉列表绑定correclty与您的代码).so只看到代码只有我已发送你在聊天 – CodeScanner 2015-03-19 07:19:34

2

可以使用NG-重复

<select data-ng-show="friend.editMode" ng-model="friend.Country.Name"> 
    <option ng-repeat="country in countries" value="{{country}}" ng-selected="friend.Country.Name==country">{{country}}</option> 
</select> 

还是用NG选项

<select ng-model="friend.Country.Name" ng-options="country as country for country in countries"></select> 

在你控制器定义一组国家。

$scope.countries = ['America', 'Australia', 'london']; 
+0

建议应该更新我的角度版本,以便您可以使用NG选项? – CodeScanner 2015-03-19 05:07:08

+0

没有必要,ng-options只是编写ng-repeat的更好方法。不过,Angular 1.3还有很多其他的好东西,所以你可能想升级到这个版本,只要记住它没有ie8的支持。 – 2015-03-19 05:09:15

+0

但仍然可以请你给我提供ng-options和我的数组结构的解决方案。 – CodeScanner 2015-03-19 05:11:39

相关问题