2015-03-19 112 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

相關問題