繁体   English   中英

如何使用 Angular JavaScript 中的 chekboxes 获取动态 JSON 数据?

[英]How get dynamic JSON data using chekboxes in Angular JavaScript?

我很挣扎,找到了很多链接和文章,但找不到解决方案。 我有一个这样的数组

$scope.cols=[
   {"dpname":"partname","search":'',"qparam":''},
   {"dpname":"partid","search":'',"qparam":''},
   {"dpname":"partdesc","search":'',"qparam":''}
]; 

我正在使用 ng-repeat 显示数组以及我也重复复选框。 当我单击特定复选框时,应打开一个文本框。 文本框中给定的 ng-model 值被该特定复选框替换

在这里,我附上了我尝试过的小提琴链接: http : //jsfiddle.net/soumyagangamwar/3dygzn8e/

我在此链接中调整了您的文件

jsfiddle.net/3dygzn8e/1/

基本上我所做的是以下内容:

  1. 向名为 ischeded 的数组添加一个新列,并将其默认为 false。 这代表复选框检查状态
  2. 将复选框绑定到 col.ischecked
  3. 我将文本框 ng-show 条件更改为 ng-show="col.ischecked"

看看这个小提琴

虽然你在问题中没有明确提到你想要什么。 但是,如果您希望每个项目都有自己的文本框,那么上面的小提琴应该可以回答您的问题。

<span ng-if="displayName">
   <input type="checkbox" id="searchName{{$index}}" ng-model="searchname[$index]" ng-change="changeColVisibility(col)">
</span>

<div ng-show="col.show">
  <input type="text" ng-model="name">
  <input type="button" value="submit" ng-click="setName(col)">
</div>

您应该尽量不使用索引,而应该使用更多 angular 附带的 2 路绑定。 既可以显示和隐藏文本框,也可以将数据保存在模型中,而不是创建大量函数来执行此操作。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM