如何基于下拉框选中ID与文本框值生成指定结构的动态JSON字符串
解决方案
你只需要先构造符合目标结构的完整JS对象,再整体转JSON字符串即可,同时注意下拉列表要筛选选中项,补充取文本框值的逻辑:
修改后的JS代码
var output = createJSON1(); function createJSON1() { // 取文本框的name字段值 const groupName = $('#srch-obj').val(); // 仅筛选下拉列表选中的option构造objects数组 const objectsArr = $("#select1 > option:selected").map((index, val) => ({ "type": "Host", id: val.value })).get(); // 构造完整对象后转JSON字符串,第三个参数2是格式化缩进用,不需要可以删除 return JSON.stringify({ name: groupName, objects: objectsArr }, null, 2); } console.log(output);
代码说明
- 新增文本框取值逻辑,通过
$('#srch-obj').val()获取name字段的输入值 - 下拉列表选择器补充
:selected筛选条件,仅处理用户选中的选项,符合需求描述 - 先组装包含
name、objects两个属性的完整对象,再调用JSON.stringify整体转换为JSON字符串,输出结构完全匹配要求
内容的提问来源于stack exchange,提问作者skkh
相关产品推荐
相关产品推荐

