AngularJS单选按钮不会从ng-model对象值中选择适当的按钮

布拉德142

我正在使用AngularJS应用程序,该应用程序可帮助配置有关美国各州的信息报告。信息的类型无关紧要,但是上下文总是很好的。

因此,我收集了美国各州的数据,这些州的频率决定了这些报告的创建和发送时间。这些频率分为三组,类似于Microsoft Outlook日历中的会议次数。实际上,它们是完全相同的选项:“每日”,“每周”和“每月”。这三个选项还具有子选项,例如“每天”的“每隔几天”或“每周工作日”,以及“每周”的“每周X,Y,Z天的每隔几周”,等等。

这些选项的显示方式是通过ng-reapeat创建的单选按钮:

<div id="frequencyOptions" class="btn-group col-md-3 showRightBorder">
    <div id="{{option.name | lowercase}}FrequencyContainer"
         data-ng-repeat="option in stateConfig.frequencyOptions | orderBy:'position'">
      <label class="control-label">
        <input id="{{option.name | lowercase}}Frequency" ng-value="option" type="radio"
               data-ng-model="$parent.selectedState.frequencyOption" />
        {{option.name}}
      </label>
    </div>
  </div>

为了明确起见,“ stateConfig”对象是此HTML页面的角度控制器,是从中加载选项的位置,而“ frequencyOptions”是选项本身。

我正在寻找的理想结果是根据当前选定的州的频率选项('$ parent.selectedState.frequencyOption')选择适当的单选按钮,然后当该选择更改时,新的选择应反映在所选内容中状态的frequencyOption属性。

到目前为止,我已经尝试了一些不同的方法。一个是使用选项的ID作为值和模型,但是当我尝试更改所选选项并将更改保存到我的关系数据库(通过Spring&Hibernate 4服务后端)时,更新相应的frequencyOptions Java对象存在问题仅带有ID。

它好像我做的事情很正确的基础上,其他无数的线程我读过,但仍然在被选择的状态已经有一个frequencyOption属性设置中获得所选择的无线电没有运气,以正确绑定。

以下是通过ng-repeat创建单选按钮的频率选项的JSON:

[{
    "id": 780,
    "description": "Daily frequency. Used for sending reports every X number of days, or every weekday (Mon-Fri).",
    "name": "Daily",
    "position": 1
},
{
    "id": 781,
    "description": "Weekly frequency. Select days of the week to send reports on those days every X number of weeks.",
    "name": "Weekly",
    "position": 2
},
{
    "id": 782,
    "description": "Monthly frequency. Select the day of the month to send a report every X number of months.",
    "name": "Monthly",
    "position": 3
}]

这是一个State的frequencyOption属性的示例:

"frequencyOption": {
    "id": 780,
    "description": "Daily frequency. Used for sending reports every X number of days, or every weekday (Mon-Fri).",
    "name": "Daily",
    "position": 1
}

我非常有信心,问题出在我的HTML中以及我如何表示我的角度模型或ng-value的值(ng-value =“ option”),我只是不确定它到底是什么我想念的

任何帮助是极大的赞赏。谢谢!!

仅百里香

您的代码看起来不错。它对我来说是原样的:

var myApp = angular.module('myApp', []);


function MyCtrl($scope) {
  $scope.stateConfig = {
    frequencyOptions: [{
      "id": 780,
      "description": "Daily frequency. Used for sending reports every X number of days, or every weekday (Mon-Fri).",
      "name": "Daily",
      "position": 1
    }, {
      "id": 781,
      "description": "Weekly frequency. Select days of the week to send reports on those days every X number of weeks.",
      "name": "Weekly",
      "position": 2
    }, {
      "id": 782,
      "description": "Monthly frequency. Select the day of the month to send a report every X number of months.",
      "name": "Monthly",
      "position": 3
    }]
  };
  $scope.selectedState = {
    frequencyOption: $scope.stateConfig.frequencyOptions[0]
  };
}
<html ng-app>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<div ng-controller="MyCtrl">
  <div id="frequencyOptions" class="btn-group col-md-3 showRightBorder">
    <div id="{{option.name | lowercase}}FrequencyContainer" data-ng-repeat="option in stateConfig.frequencyOptions | orderBy:'position'">
      <label class="control-label">
        <input id="{{option.name | lowercase}}Frequency" ng-value="option" type="radio" data-ng-model="$parent.selectedState.frequencyOption" />{{option.name}}
      </label>
    </div>
  </div>
  <br>Selected Frequency:
  <br>{{selectedState.frequencyOption}}
</div>

</html>

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

AngularJS:单选按钮上的ng-repeat

来自分类Dev

在单选按钮angularjs中选择默认值

来自分类Dev

动态创建单选按钮并选择适当的按钮Angularjs

来自分类Dev

在页面加载中选择了AngularJS单选按钮

来自分类Dev

如何在angularjs中选择单选按钮

来自分类Dev

AngularJs:将ng-model绑定到单选按钮列表

来自分类Dev

AngularJS - ng-repeat 多个单选按钮组,数组的值

来自分类Dev

单击单选按钮(由ng-repeat生成)时,不会填充ng-model

来自分类Dev

未选中嵌套ng-repeat中的Angularjs单选按钮

来自分类Dev

AngularJS表单通过单选按钮和ng-repeat验证

来自分类Dev

使用ng-repeat处理单选按钮-AngularJS

来自分类Dev

AngularJS ng-repeat单选按钮列表:选定的单选返回未定义的值

来自分类Dev

AngularJS单选按钮的重复值

来自分类Dev

验证单选按钮AngularJS

来自分类Dev

在AngularJS中选择单选按钮时,专注于文本框

来自分类Dev

从链接中选择单选按钮

来自分类Dev

在js中选择单选按钮

来自分类Dev

我如何获取 angularjs 中选定单选按钮的值?

来自分类Dev

单选按钮是隐藏的,不会显示

来自分类常见问题

ng-model对于AngularJS中的单选按钮不起作用

来自分类Dev

angularjs ng-disabled不会向按钮添加禁用

来自分类Dev

ng-model不适用于以JSON对象为值的有角单选按钮

来自分类Dev

ng-checked和ng-change单选按钮无法一起使用-angularjs

来自分类Dev

单选按钮未选择的AngularJS问题

来自分类Dev

单选按钮未选择的AngularJS问题

来自分类Dev

AngularJS-简单的单选按钮无法选择

来自分类Dev

AngularJS指令模拟单选按钮

来自分类Dev

AngularJS指令模拟单选按钮

来自分类Dev

如何从单选按钮列表中选择单选按钮

Related 相关文章

热门标签

归档