如何通过jquery获取嵌套div中的输入字段

时间:2016-11-02 13:25:10

标签: javascript jquery

我想使用jquery获取div中的输入字段。但是我无法得到它。我想用类模型迭代它并添加到字符串数组中并将其传递给控制器​​。

下面是我的一个具有类模型的div我会像这样制作多个div并将其迭代到它以获取输入字段并将其传递给我的控制器

   <div class="models">
            <div class="row" >

                <div class="col-md-12" >
                    <label class="control-label" >NIC</label>
                    <input type="text" class="form-control" name="VNIC" id="VNIC" required>
                </div>
            </div>



            <div class="row">
                <div class="col-md-12">
                    <label class="control-label">First Name</label>
                    <input type="text" class="form-control" name="VfirstName" id="VfirstName" required>
                </div>
            </div>



<script type="text/javascript">
                $("#Visitor-form").on("submit", function () {
                    //Code: Action (like ajax...)
                    var slides = $(".models");
                    console.log(slides);
                    for (i = 0; i < slides.length; i++) {

                        var previsitor = [
                            { NIC: slides[0].value, V_Name: slides[0].value }
                        ];
                    }
                    previsitors = JSON.stringify({ 'previsitors': previsitor });
                    console.log(previsitors);
                    $.ajax({
                        contentType: 'application/json; charset=utf-8',
                        dataType: 'json',
                        type: 'POST',
                        url: '/PreVisitor/addMultipleVisitor',
                        data: previsitors,
                        success: function () {
                            $('#result').html('"Pass List<PreVisitor>" successfully called.');
                        },
                        failure: function (response) {
                            $('#result').html(response);
                        }
                    });

                })

1 个答案:

答案 0 :(得分:1)

这是你需要的吗?获取所有输入值并将它们放入数组中。 不确定您需要哪种类型的数组,只需要确定名称的值或值。

$('button').on('click',function(){
     var total = [];
     var mapped = {};
     $('.models').find('input[type="text"]').each(function(index,elem){
        total.push(elem.value);
        mapped[elem.name] = elem.value;
     });
     console.log(total);
     console.log(mapped);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="models">
            <div class="row" >

                <div class="col-md-12" >
                    <label class="control-label" >NIC</label>
                    <input type="text" class="form-control" name="VNIC" id="VNIC" required>
                </div>
            </div>



            <div class="row">
                <div class="col-md-12">
                    <label class="control-label">First Name</label>
                    <input type="text" class="form-control" name="VfirstName" id="VfirstName" required>
                </div>
            </div>
</div>
<button>click me</button>