Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angularjs 从HTML下拉列表中检索所选选项值_Angularjs_Asp.net Mvc - Fatal编程技术网

Angularjs 从HTML下拉列表中检索所选选项值

Angularjs 从HTML下拉列表中检索所选选项值,angularjs,asp.net-mvc,Angularjs,Asp.net Mvc,我有一个下拉列表,用户必须在其中选择选项并将其保存到数据库中。我将以下内容用于AngularJs: <select> <option>----Please Select Sub-Category----</option> <option ng-repeat="m in Categories" value="{{ m.CategoryId }}" ng-model="saveProducts.CategoryId">{{ m.Cat

我有一个
下拉列表
,用户必须在其中选择选项并将其保存到数据库中。我将以下内容用于
AngularJs

 <select>
    <option>----Please Select Sub-Category----</option>
    <option ng-repeat="m in Categories" value="{{ m.CategoryId }}" ng-model="saveProducts.CategoryId">{{ m.Category }}</option>
 </select>
但这是行不通的
saveProducts
是我传递值的对象(范围),但有没有简单的方法可以通过上述过程传递选项值

下面是我在数据库中保存数据的步骤,它工作正常,除了选项值之外,它无法检索上述值:

productApp.controller('addProductController', function ($scope, $http) {
    $scope.addData = function () {

        $http({
            method: 'POST',
            url: '/Product/AddProductsToDb',
            data: $scope.saveProducts
        }).success(function () {
            $scope.saveProducts = null;

        }).error(function () {
            alert('Failed');
        });
    }
});
这是我的输出,我只想从中传递选项值:


更新1-这是我尝试过的,但我可以使用以下方法在警报方法中显示值:

<select ng-model="saveProducts.ParentId"
        ng-options="m.Category for m in Categories track by m.CategoryId">
      <option value="">----Please Select Sub-Category----</option>
</select>

注意:它保存文本框输入值,但仍使用下拉列表。无法检索选择选项值并将其保存到数据库。

请使用ngOptions。根据
类别
数据的结构,您可以执行以下操作:

<select ng-options="m as m.yourProperty for m in Categories" ng-model="selected"></select>

阅读以根据需要进行调整。

使用ngOptions。根据
类别
数据的结构,您可以执行以下操作:

<select ng-options="m as m.yourProperty for m in Categories" ng-model="selected"></select>

阅读以根据需要进行调整。

您应该有一个属性来存储所选选项。您可以使用
ng选项
呈现下拉列表

<select ng-model="selectedCategory"
        ng-options="option.Category for option in Categories track by option.CategoryId ">
    <option value="">Select Option</option>
</select>

您应该有一个属性来存储所选选项。您可以使用
ng选项
呈现下拉列表

<select ng-model="selectedCategory"
        ng-options="option.Category for option in Categories track by option.CategoryId ">
    <option value="">Select Option</option>
</select>

您在哪里获得用于ng repeat的
Categories
数组?再次,当我尝试此-alert($scope.saveProducts.ParentId)时,它返回[Object Object]@Shyju。您在哪里获得用于ng repeat的
Categories
数组?再次,当我尝试此-alert($scope.saveProducts.ParentId)时,它返回[Object Object]@Shyju.OK@Shyju。我试试看。我已经有了一个名为
saveProducts
的作用域,它将值传递给数据库,如何将上述内容传递或集成到
saveProducts
?什么是
saveProducts
?我尝试了code@Shyju,但它没有得到值,并将null保存到数据库中。这就是我所做的---请选择子类别---。然后,我使用循环-angular.forEach($scope.saveProducts,function(model,index){$scope.saveProducts.SubCategory=(model.CategoryId);})对其进行迭代;。我可以检索这些值,但它会在数据库中保存空值。请参阅我更新的帖子。正如我在代码中解释的,SELECT的ng型号设置为
selectedCategory
。因此,当用户更改该选项时,该选项的值将被更新。现在,当调用
addData
方法时,您所要做的就是根据需要将数据发送到服务器。您在
$scope.selectedCategory中具有所选值。使用该值可按需要保存我已使用此
警报($scope.selectedCategory)@Shyju,返回[Object]。在数据库中,它显示null value.OK@Shyju。我试试看。我已经有了一个名为
saveProducts
的作用域,它将值传递给数据库,如何将上述内容传递或集成到
saveProducts
?什么是
saveProducts
?我尝试了code@Shyju,但它没有得到值,并将null保存到数据库中。这就是我所做的---请选择子类别---。然后,我使用循环-angular.forEach($scope.saveProducts,function(model,index){$scope.saveProducts.SubCategory=(model.CategoryId);})对其进行迭代;。我可以检索这些值,但它会在数据库中保存空值。请参阅我更新的帖子。正如我在代码中解释的,SELECT的ng型号设置为
selectedCategory
。因此,当用户更改该选项时,该选项的值将被更新。现在,当调用
addData
方法时,您所要做的就是根据需要将数据发送到服务器。您在
$scope.selectedCategory中具有所选值。使用该值可按需要保存我已使用此
警报($scope.selectedCategory)@Shyju,返回[Object]。在数据库中,它显示空值。
<select ng-model="selectedCategory"
        ng-options="option.Category for option in Categories track by option.CategoryId ">
    <option value="">Select Option</option>
</select>
$scope.addData = function () {
    console.log($scope.selectedCategory);
    //to do : use selectedCategory 
}