Angular:如何获取多个复选框值
Angular: How to get multiple checkbox values
我可能会错过一些基本的Angular概念,因为我的ng-change事件标记了两个复选框,而不是一个。
这些是我的视图(html文件)(注意<input>
标签):
<li>
<label for="id_trade_type_0">Trade type:</label>
<ul id="id_trade_type">
<li>
<label for="id_trade_type_0">
<input id="id_trade_type_0" name="trade_type" ng-change="filterMarkers()" ng-false-value="2" ng-model="formData.trade_type" ng-true-value="1" type="checkbox" value="1" /> Pardavimas
</label>
</li>
<li>
<label for="id_trade_type_1">
<input id="id_trade_type_1" name="trade_type" ng-change="filterMarkers()" ng-false-value="2" ng-model="formData.trade_type" ng-true-value="1" type="checkbox" value="2" /> Nuoma
</label>
</li>
</ul>
</li>
</ul>
这是我的控制器中的函数:
$scope.filterMarkers = function() {
$scope.clearMarkers();
$scope.loadMarkers('/get_markers/?' + $.param($scope.formData));
console.log($scope.formData)
}
当我从我的视图中删除ng-model="formData.trade_type"
时,我可以单独单击复选框(但当然代码不应该工作)。
我错过了什么
这是因为您对两个输入使用了相同的ng-model="formData.trade_type"
。
使用不同的模型存储不同的值
如:ng-model="formData.trade_type_1"
和ng-model="formData.trade_type_2"
编辑:因为你有不同的值,如果你想使用相同的模型,你可以使用单选按钮而不是选择框,那么只有一个将被选中
就像你说的,这是一个在数组中存储不同复选框值的方法
$scope.selectedValues = [];
$scope.select = function (item) {
var index = $scope.selectedValues.indexOf(item.value);
if (item.isChecked) { // adding the value if checked and not exist in array
if (index == -1) {
$scope.selectedValues.push(item.value);
}
} else {
if (index > -1) { // removing the value if uncheked and exist in array
$scope.selectedValues.splice(index, 1);
}
}
}
模板:
<input type='checkbox' ng-model='item.isChecked' ng-value='item.value'
ng-change='select(item)'/>
您想要的值将存储在$scope.selectedValues
中,您可以从这些值构造一个查询字符串
item is an object
,应该有item.value
属性分配得到值
对于两个输入,您使用相同的ng-model
属性。您可以在这里看到示例:https://docs.angularjs.org/api/ng/input/input%5Bcheckbox%5D
相关文章:
- 从复选框和Selects-KnockoutJS中获取值的总和
- 如何从javascript/jquery中的复选框中获取布尔值
- 如何从javascript/jquery中的多个复选框中获取附加值
- 如何从多个复选框中获取最后一个值
- 如何获取模式引导程序上的值复选框
- 如何获取所有选中复选框的所有值,然后将其提交到表单中
- 如何在javascript中获取一组复选框值
- 如何创建php函数或任何脚本/jquery Javascript,使我能够获取与复选框关联的值并添加它们
- 使用javascript提交表单并从字段/单选框/复选框/文本区域获取数据
- 如何根据在角度 js 中选中的复选框获取表行值
- 根据选中的复选框获取
的值 - 从行中的复选框获取表值
- 如何通过JQuery中的复选框获取选定列的值
- PHP:基于复选框获取工作日和休息日
- 在jquery中不能从表单复选框获取和传递值到$_POST
- 通过ng-repeat, ng-model和复选框获取数组中的位置
- 单击复选框获取表格行id值
- 如何在Angular JavaScript中使用复选框获取动态JSON数据
- Javascript:从复选框获取对象
- 使用复选框获取行值