【问题标题】:How to fetch all children element input如何获取所有子元素输入
【发布时间】:2016-11-06 01:02:18
【问题描述】:

我被困在一个地方,我必须获取执行操作的所有输入元素。

例如: 有一个容器,其中可以有 n 个输入元素,例如 输入类型文本/数字/日期 单选按钮 等(动态渲染)

并且在同一个容器中有一个名为提交的按钮。 当我点击提交时

  1. 我必须获得提交按钮元素的父级
  2. 获取此父容器内的所有元素

我该怎么做?

因为我是动态渲染的,所以我无法设置范围以便我可以使用范围访问。

【问题讨论】:

  • 问题: 1. 你在用JQuery吗? 2. 可以看一些代码供我们参考吗?
  • 听起来很简单。但是发布你的 HTML 和 JS。
  • 你应该设置 ng-form="myparent" ,然后设置你的输入字段,比如 ng-model="myparent.firstname" 等等......
  • 您能否展示您的代码以获得更多帮助。

标签: javascript html angularjs dynamic


【解决方案1】:

如果你使用 jquery,你可以这样做:

var $parent = $(button).parent();
var $inputs = $parent.find("input");

如果您不使用 jquery,您可以使用以下内容:

var parent = buttonElement.parentElement;
var inputs = parent.getElementsByTagName("input");

【讨论】:

  • 感谢您的回复。它部分工作,但我知道如何做到这一点
【解决方案2】:
 <div>
    <input type="text" id="txtName" value="Aslam"/>
    <input type="radio" value="Select" />

    <input type="button"  id="btnClick" value="Click Me!"/>

</div>
<script>
    $("#btnClick").on('click', function () {
        var parent = $(this).parent();
        var childrens = parent.children("input");

        childrens.each(function () {
            switch (this.type) {
                case 'text':
                    alert('Put text box logic');
                    break;
                case 'radio':
                    alert('Put radio box logic');
                    break;
                    //Put other control
                default:
            }
        })
    });
</script>

【讨论】:

    【解决方案3】:

    首先设置 ng-form 并通过 ng-model 访问...这是这样做的简单方法...

    <form ng-form="myparent">
    
        <input type="text" ng-model="myparent.firstname"/>
        <input type="text" ng-model="myparent.lastname"/>
        ... Etc
    
        </form>
    

    【讨论】:

      猜你喜欢
      • 2011-01-25
      • 2014-09-07
      • 2021-12-25
      • 2019-08-31
      • 1970-01-01
      • 1970-01-01
      • 2014-08-21
      • 2019-11-10
      • 2019-07-10
      相关资源
      最近更新 更多