我想使用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);
}
});
})
答案 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>