【问题标题】:how to show li tag based on index value in angularjs如何根据angularjs中的索引值显示li标签
【发布时间】:2013-11-12 06:50:13
【问题描述】:

我有一个这样的html,

  <div class="main">
     <ul>
         <li ng-repeat='save in saves'>
           <h3>{{save.name}}</h3>
           <div >
              <ul>
                <li ng-repeat='story in stories'>
                   <div  ng-show="story.display"><label>welcome</label></div>
                   <div  ng-show="!story.display"><input type="text"></div>
                </li>
              </ul>
           </div>
            <div ng-click="add()">Click</div>
         </li>
     </ul>
     <div ng-click="theme()">Add theme</div>
  </div>

我的控制器是这样的

       $scope.saves=[];
       $scope.stories=[];
       $scope.theme=function()
      {
         $scope.saves.push({name:'joseph',name:'john',name'peter'});
      };
      $scope.add=function()
      {
        $scope.stories.push({display:'false'});
      };

我正在做这个,

当用户单击 addtheme 按钮时,我将名称推送到保存(数组)中,然后使用 li 标签重复它,这样就可以输出了

  joseph

  click

  john

  click

  peter 

  click

因此,当用户再次单击单击时,我只想为特定单击的 li 显示一个文本框..但是发生了什么事,当我单击单击按钮时,它显示三个文本框用于三个 li 标签....

如何打开特定的文本框?

【问题讨论】:

    标签: javascript jquery html css angularjs


    【解决方案1】:

    你可以替换

    <div  ng-show="!story.display"><input type="text"></div>
    

    <div  ng-hide="story.display"><input type="text"></div>
    

    【讨论】:

    • 如果使用ng-show='!storey.display' 输入框无法显示,可以使用ng-hide试试。
    • 即使我使用 ng-hide 它也会显示文本框,但不仅仅是一个,它会显示所有文本框....那么如何显示特定的文本框?
    猜你喜欢
    • 2021-10-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-12-17
    相关资源
    最近更新 更多