jquery - 通过 Jquery 动态创建 JSON 对象
问题描述
我想要这种序列化表单中的数据我正在查看许多示例但无法正常工作。我的代码在这里-
<select class="awe-select" name="rooms" id="rooms">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
</select>
<button class="awe-btn-default submit" type="submit">BOOK </button>
<script type="text/javascript">
$(document).ready(function() {
$("#rooms").change(function() {
var selVal = $(this).val();
$("#textboxDiv").html('');
if(selVal > 0) {
for(var i = 1; i<= selVal; i++) {
$("#textboxDiv").append("<div class='check_availability_group'><span class='label-group'>ROOM </span><div class='check_availability-field_group'><div class='check_availability-field'><label>Adult</label><select name='adult' id='adult' class='form-control activeInput' required><option value='0'>0</option><option value='1'>1</option><option value='2'>2</option><option value='3'>3</option><option value='4'>4</option><option value='5'>5</option></select></div><div class='check_availability-field'><label>Children</label><select class='form-control activeInput' id='children' name='children' required><option value='0'>0</option><option value='1'>1</option><option value='2'>2</option><option value='3'>3</option><option value='4'>4</option><option value='5'>5</option></select></div></div></div>");
}
}
});
});
</script>
json代码在这里-
<script>
$(document).ready(function() {
$(".submit").click(function() {
var array = [];
$("select[class=activeInput]").each(function() {
array.push({
adult: $(this).val(),
children: $(this).val()
});
});
});
});
// then to get the JSON string
var jsonString = JSON.stringify(array);
console.log(jsonString)
}
</script>
我想要成人和儿童数据,根据房间的这种格式,比如 -
"rooms": [
{
"children": 0,
"adults": 1
},
{
"children": 1,
"adults": 2,
}
]
解决方案
请找到以下链接: https ://jsfiddle.net/ulric_469/5986mpxd/31/
<select class="awe-select" name="rooms" id="rooms">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
</select>
<div class= "temp" id ="textboxDiv">
</div>
<button class="awe-btn-default submit" type="submit">BOOK </button>
JS:
$(document).ready(function() {
$("#rooms").change(function() {
var selVal = $(this).val();
$("#textboxDiv").html("");
if(selVal > 0) {
for(var i = 1; i<= selVal; i++) {
$("#textboxDiv").append("<div class='check_availability_group'><span class='label-group'>ROOM </span><div class='check_availability-field_group'><div class='check_availability-field'><label>Adult</label><select name='adult' id='adult' class='form-control activeInput' required><option value='0'>0</option><option value='1'>1</option><option value='2'>2</option><option value='3'>3</option><option value='4'>4</option><option value='5'>5</option></select></div><div class='check_availability-field'><label>Children</label><select class='form-control activeInput' id='children' name='children' required><option value='0'>0</option><option value='1'>1</option><option value='2'>2</option><option value='3'>3</option><option value='4'>4</option><option value='5'>5</option></select></div></div></div>");
}
}
});
$(".submit").click(function() {
var array = [];
$(".check_availability-field_group").each(function() {
array.push({
adult: +$(this).find("select[name= 'adult']").val(),
children: +$(this).find("select[name= 'children']").val()
});
});
var jsonString = JSON.stringify(array);
console.log(jsonString)
});
});
推荐阅读
- macos - 专门使用 Opera 浏览器参数 macOS 打开 Jupiter“实验室”(不是 Jupiter 笔记本)时出现问题
- python - 如何设置xarray.assign输出的坐标?
- python - For 循环没有正确迭代并给出正确的名称
- sas - 如何根据 SAS 工作文件中的观察数运行部分宏
- c++ - 移动指针有什么好处吗?
- android - 运行时的kotlin注解方法
- apache-kafka - 如何使用 MSK 连接将数据从 AWS MSK (kafka) 流式传输到雪花
- node.js - 套接字未侦听连接事件
- java - 遍历单选按钮并单击
- javascript - 在新的 Date() js 中更改日期而不翻转月份、年份或时间