如何在角度js中使用chekbox获取动态json数据?

时间:2016-08-09 10:00:15

标签: javascript angularjs json

我正在努力奋斗,找到了很多链接和文章,但无法获得解决方案。我有一个这样的数组

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

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

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

请帮我解决

2 个答案:

答案 0 :(得分:0)

我在这个链接中调整了你的文件

jsfiddle.net/3dygzn8e/1/
基本上我做的是以下几点:

  1. 向名为ischeched的数组添加一个新列,并将其默认为false。这表示复选框检查状态
  2. 将复选框绑定到col.ischecked
  3. 我将文本框ng-show条件更改为ng-show =“col.ischecked”
  4. 请告诉我这是否有助于解决问题。

    谢谢!

    smartdigitizers小组

答案 1 :(得分:0)

看看这个Fiddle

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

<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>

您应该尽量不使用索引,而应该使用更多角度附带的双向绑定。两者都显示和隐藏文本框并在模型中保存数据,而不是创建大量函数来执行此操作。