我有两个具有一对多关系的表"Category"one_answers"Publication"。
类别:id、名称、描述
发布:id,title,content,category_id
我需要通过select元素获得category_id,并将其放入category_id字段中。
出版形式:
<form>
<input type="text" ng-model="publication.title" placeholder="Title" />
<input type="text" ng-model="publication.content" placeholder="Content" />
<!-- Here is my problem because I can list all categories but I can't get the category id and put it in the category_id field -->
<div ng-init="categories()">
<select class="form-control" ng-model="category" ng-options="category.name for category in categories">
<option value="">-- Select category --</option>
</select>
</div>
</form>
这是我的控制器获得所有类别:
$scope.categories = function() {
$http(
{
method : 'GET',
url : '/prodemo/category'
}).success(
function(data, status, headers, config) {
$scope.categories = data;
}).error(
function(data, status, headers, config) {
});
};
我该怎么做?
类似于下面的隐藏字段,您可以轻松完成
<form>
<input type="text" ng-model="publication.title" placeholder="Title" />
<input type="text" ng-model="publication.content" placeholder="Content" />
<input type="hidden" ng-model="publication.category_id = category.id" />
<div ng-init="categories()">
<select class="form-control" ng-model="category" ng-options="category.name for category in categories">
<option value="">-- Select category --</option>
</select>
</div>
</form>
<select class="form-control" ng-change="getPubs()" ng-model="category" ng-options="category.name for category in categories">
<option value="">-- Select category --</option>
</select>
<select class="form-control" ng-model="selected_pub" ng-options="pub.name for pub in publications">
<option value="">-- Select Pub --</option>
</select>
在控制器中:
$scope.getPubs = function () {
//or whatever the URL for filtering publications by catagory_id
$http.get('/prodemo/publications/' + $scope.category.id)
.then(function (resp) { $scope.publications = resp})
}