Javascript 如何在select中获取所选值?
我正在制作angularjs表格。我想将definition.clazz传递给js函数。在控制器中,我有一个js函数,如: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"
$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让人们更改类型,这样他们就可以从基本类型移动到枚举类型