Javascript Angularjs在angular.forEach中追加值
需要一些关于角度和复选框的帮助,以及如何将一个变量与所有选中值组合在一起。这是我到目前为止得到的,但似乎无法找到一种连接所有已检查值的好方法,以便将它们发送到REStful$资源。如何以以下格式获取某个变量或$scope项及其所有选中值。e、 g:Javascript Angularjs在angular.forEach中追加值,javascript,angularjs,Javascript,Angularjs,需要一些关于角度和复选框的帮助,以及如何将一个变量与所有选中值组合在一起。这是我到目前为止得到的,但似乎无法找到一种连接所有已检查值的好方法,以便将它们发送到REStful$资源。如何以以下格式获取某个变量或$scope项及其所有选中值。e、 g: types = Permanent,Contract,Any,Fixed Term 复选框的示例数据($scope.newJobSearch.type): { “永久”:“永久”, “合同”:“合同”, “永久或合同”:错误, “任何”:“任何”
types = Permanent,Contract,Any,Fixed Term
复选框的示例数据($scope.newJobSearch.type):
{
“永久”:“永久”,
“合同”:“合同”,
“永久或合同”:错误,
“任何”:“任何”,
“固定期限”:“固定期限”
}
{{jobType}}
$scope.newJobSearch={};
函数searchJobs(newJobSearch){
angular.forEach(newJobSearch.type,函数(值){
如果(值!=false){
$scope.queryTypes.push(value);//似乎不起作用
//此处的某些变量包含所有字符串值,例如:
//永久的、合同的、固定期限的
}
});
}
见此
您可以结合使用ng repeat
和ng change
来更新结果集:
控制器:
$scope.result = {};
$scope.items = [
{ name: "Permanent", checked: false },
{ name: "Contract", checked: false },
{ name: "Permanent or Contract", checked: false },
{ name: "Any", checked: false },
{ name: "Fixed", checked: false }
];
$scope.updateResult = function () {
$scope.items.forEach(function (item) {
$scope.result[item.name] = item.checked ? item.name : false;
});
};
$scope.updateResult();
html:
<div ng-repeat="item in items">
<input ng-model="item.checked"
ng-change="updateResult()"
type="checkbox">
{{ item.name }}
</div>
{{item.name}
我根本不懂你的代码。不管怎么说,我认为你在寻找这样的东西:
$scope.jobTypes = ['Permanent','Contract','Any','Fixed Term'];
$scope.newJobSearch;
$scope.newJobSearch.type = [];
$scope.newJobSearch.type.checked = $filter('filter')($scope.newJobSearch.type, {checked: true});
然后:
<label class="checkbox-inline" for="{{jobType}}" ng-repeat="jobType in jobTypes ">
<input type="checkbox" id="{{jobType}}" value="{{jobType}}" ng-model="newJobSearch.type[$index]" > {{jobType}}
</label>
{{jobType}}
您不需要函数将数据绑定到模型,因为Angular将自己绑定。我不理解这个问题和代码。。。您正在尝试根据第一行上的对象进行CheckBowe?不,抱歉,第一个值是实际值,即在各种选中位置的所有输入的结果。当它们被选中时,它们被分配给它们的值和那些不是false的值。我想将它们转换为一个以“,“所以它可以被发送到REST资源。你在哪里声明了$scope.newJobSearch?是的,我在上面声明过。”
<label class="checkbox-inline" for="{{jobType}}" ng-repeat="jobType in jobTypes ">
<input type="checkbox" id="{{jobType}}" value="{{jobType}}" ng-model="newJobSearch.type[$index]" > {{jobType}}
</label>