如何获取所有子元素输入

时间:2016-07-04 10:20:17

标签: javascript html angularjs dynamic

我陷入困境,我必须获取执行操作的所有输入元素。

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

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

  1. 我必须得到提交按钮元素的父级
  2. 获取此父容器中的所有元素
  3. 我该怎么做?

    因为我正在动态渲染,所以我无法设置范围,以便我可以使用范围进行访问。

3 个答案:

答案 0 :(得分:2)

如果您使用jquery,您可以按照以下方式执行:

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

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

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

答案 1 :(得分:1)

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

答案 2 :(得分:1)

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

<form ng-form="myparent">

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

    </form>