Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/369.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/22.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
Javascript 如何在select中获取所选值?_Javascript_Angularjs - Fatal编程技术网

Javascript 如何在select中获取所选值?

Javascript 如何在select中获取所选值?,javascript,angularjs,Javascript,Angularjs,我正在制作angularjs表格。我想将definition.clazz传递给js函数。在控制器中,我有一个js函数,如: $scope.createData=function(clazz){ // do stuff } 以下是表单的片段: <select class="form-control" id="type" name="type" ng-model="definition.clazz"> <option value="PrimitiveType"

我正在制作angularjs表格。我想将definition.clazz传递给js函数。在控制器中,我有一个js函数,如:

$scope.createData=function(clazz){
// do stuff
}
以下是表单的片段:

<select  class="form-control" id="type" name="type" ng-model="definition.clazz">
    <option value="PrimitiveType" 
            ng-selected="type.type=='PRIMITIVE'">
        PrimitiveType
    </option>
    <option value="EnumerationType"
            ng-selected="type.type=='ENUM'">
        EnumerationType
    </option>
</select> 
<button type="button" 
        class="btn btn-primary"
        ng-click="createData(definition.clazz)">
    Create Data   
</button>

基本类型
枚举类型
创建数据
当我单击创建数据按钮时,
ng model
未设置。即使我在控制台日志中打印
definition.clazz
。 如何获取select的select值?
谢谢。

您尝试过使用
ng选项吗?我的猜测是,
ng model
可能需要在select上使用该选项。

尝试以下操作:

<select class="form-control" 
          id="type" 
          name="type" 
          ng-model="definition.clazz" 
          ng-options="option in ['PrimitiveType','EnumerationType']">  

</select>

@Pracede,这是您想要实现的有效解决方案吗

ng型号的值在控制台中显示:


var app=angular.module(“app”,[]).controller('appCtrl',['$scope',
职能($范围){
//$scope.type={type=“PRIMITIVE”};//棘手的部分是什么?
$scope.type={};
$scope.type.type=“”;
$scope.createData=函数(clazz){
if(clazz==未定义)
{
log(“选择类型”);
回来
}              
if(clazz=='PrimitiveType')
{
$scope.type.type='PRIMITIVE';
log(clazz+''+$scope.type.type);
}
其他的
{
$scope.type.type='ENUM';
log(clazz+''+$scope.type.type);
}    
}
}
]);

基本类型
枚举类型
创建数据

首先尝试在控制器中定义您的模型:
$scope.definition={}
要获得角度化的方法,请检查以下问题:@devqon$scope.definition在controller@avenet谢谢你的链接,但我的情况下,这不是关于得到改变的价值。我想检索当前视图中显示的选定值(在另一个视图中完成)。我看到您将
ng selected
放在这里。不要对此感到困惑,这只是将
selected
属性添加到DOM中,而根本不会更改模型。这意味着您可以看到视图更改,但不能看到模型。我可以编辑您的代码。但我看不出我的代码有什么不同。为什么要使用ng selected?我看不出使用它的原因。。。顺便说一下,我没有改变任何东西,只是设置了工作结构……这是一个选择性的选择,人们可以改变价值。你能举一些其他的例子来看看它是如何工作的,因为我无法想象你所说的“人们可以改变价值”是什么意思-您也在通过选择选项来更改它?我说我使用select让人们更改类型,这样他们就可以从基本类型移动到枚举类型