在这里,我选择Apartment,Villament,Row House,根据我的要求多选不需要再制作一个阵列,怎么能这样做,我就是这样搭,但是如果有的话,我无法得到确切的答案知道意味着告诉我
function createJSON() {
jsonObj = [];
jsonObj12 = [];
$("input[class=email]").each(function() {
var email = $(this).val();
var items = [];
$('.Check1:checked').each(function(){
items.push($(this).val());
});
item = {}
item ["email"] = email;
jsonObj12.push(items);
item ["multiselect"]=jsonObj12;
jsonObj.push(item);
});
console.log(jsonObj);
}
// Geting aswer like this
Array[1]
0:Object
email:"a@gmail.com"
multiselect:Array[1]
0:Array[3]0:"Office Space"
1:"Apartment"
2:"Villament"
// Requirement aswer like this
Array[1]
0:Object
email:"a@gmail.com"
multiselect:Array[3]
0:"Office Space"
1:"Apartment"
2:"Villament"

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
Email<input title="Title1" type="text" class="email" >
<!--<input title="Title2" type="text" class="email">
<input title="Title3" type="text" class="email">-->
<div class="col-md-4" style="padding-left: 4px; padding-right: 4px;">
<li style="color: #333; font-size: 85%;">
<input type="checkbox" class="Check1" name="listing_type[]" value="Office Space"> Office Space
</li>
</div>
<div class="col-md-4" style="padding-left: 4px; padding-right: 4px;">
<li style="color: #333; font-size: 85%;">
<input type="checkbox" class="Check1" name="listing_type[]" value="Apartment"> Apartment
</li>
</div>
<div class="col-md-4" style="padding-left: 4px; padding-right: 4px;">
<li style="color: #333; font-size: 85%;">
<input type="checkbox" class="Check1" name="listing_type[]" value="Villament"> Villament
</li>
</div>
<div class="col-md-4" style="padding-left: 4px; padding-right: 4px;">
<li style="color: #333; font-size: 85%;">
<input type="checkbox" class="Check1" name="listing_type[]" value="Individual House"> Individual House
</div>
<div class="col-md-4" style="padding-left: 4px; padding-right: 4px;">
<li style="color: #333; font-size: 85%;">
<input type="checkbox" class="Check1" name="listing_type[]" value="Row House"> Row House
</div>
<input type="button" id="btn-submit" value="submit" onClick="createJSON()">
&#13;
答案 0 :(得分:0)
您需要获取所有“多选”值,然后将其直接分配给最终结果中的对象键:
function createJSON() {
result = [];
$("input[class=email]").each(function() {
var email = $(this).val();
var text = $(this).siblings('input.text').val();
var items = [];
$('.Check1:checked').each(function(){
items.push($(this).val());
});
result.push({email: email, text: text, multiselect: items})
});
console.log(result);
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
Email<input title="Title1" type="text" class="email" >
<!--<input title="Title2" type="text" class="email">
<input title="Title3" type="text" class="email">-->
Text <input title="Text1" type="text" class="text" placeholder ="Text 1">
<div class="col-md-4" style="padding-left: 4px; padding-right: 4px;">
<li style="color: #333; font-size: 85%;">
<input type="checkbox" class="Check1" name="listing_type[]" value="Office Space"> Office Space
</li>
</div>
<div class="col-md-4" style="padding-left: 4px; padding-right: 4px;">
<li style="color: #333; font-size: 85%;">
<input type="checkbox" class="Check1" name="listing_type[]" value="Apartment"> Apartment
</li>
</div>
<div class="col-md-4" style="padding-left: 4px; padding-right: 4px;">
<li style="color: #333; font-size: 85%;">
<input type="checkbox" class="Check1" name="listing_type[]" value="Villament"> Villament
</li>
</div>
<div class="col-md-4" style="padding-left: 4px; padding-right: 4px;">
<li style="color: #333; font-size: 85%;">
<input type="checkbox" class="Check1" name="listing_type[]" value="Individual House"> Individual House
</div>
<div class="col-md-4" style="padding-left: 4px; padding-right: 4px;">
<li style="color: #333; font-size: 85%;">
<input type="checkbox" class="Check1" name="listing_type[]" value="Row House"> Row House
</div>
<input type="button" id="btn-submit" value="submit" onClick="createJSON()">