【问题标题】:creating an array to create a json format创建一个数组来创建一个json格式
【发布时间】:2020-05-21 05:12:06
【问题描述】:

我有多选字段。我想从字段中获取值并推送值,因为我有四个多选并在 jquery 中获取值。我想创建一个数组并相应地推送字段值。我是对创建数组并推送值感到震惊。

$(".go").click(function(){

   var filter =[];
  var username=$( "#username" ).val();
  var geo=$( "#geo" ).val();
  var week=$( "#week" ).val();
  var team=$( "#team" ).val();
  filter[username]=username;
  filter[geo]=geo;
  filter[week]=week;
  filter[team]=team;
  
  console.log(filter[username]);
  var userarr=JSON.stringify(filter);
  console.log(userarr);
 });
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="form-popup" id="filter" style="display: block;">
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
 <select id="username" multiple=""><option selected="true" disabled="">Username</option><option>user1</option><option>user2</option><option>user3</option><option>user4</option></select>
 <select id="geo" multiple=""><option selected="true" disabled="">Geo</option><option>chennai</option><option>covai</option><option>hydrabad</option><option>cochin</option><option>mumbai</option></select>
 <select id="week" multiple=""><option selected="true" disabled="">Weeks</option><option>week1</option><option>week2</option><option>week3</option><option>week4</option></select>
 <select id="team" multiple=""><option selected="true" disabled="">Teams</option><option>Java</option><option>Lamp</option><option>Oracle</option><option>Sales</option></select>
 <button class="go">GO</button>
 </div>

需要的json格式

{"username":{"user1","user2","user3"},
  "geo":{"geo1","geo2"},
  "week":{"week2","week4"} 
}

【问题讨论】:

  • {"user1","user2","user3"} 这不是有效的数组语法。您要么希望 ["user1","user2","user3"] 使其成为有效数组,要么添加键/值以使其成为有效对象。
  • 这是json格式

标签: javascript php html arrays json


【解决方案1】:

试试这个:-

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
<div class="form-popup" id="filter" style="display: block;">
    <form id="test">
         <select id="username" name="username" multiple=""><option selected="true" disabled="">Username</option><option>user1</option><option>user2</option><option>user3</option><option>user4</option></select>
         <select id="geo" name="geo" multiple=""><option selected="true" disabled="">Geo</option><option>chennai</option><option>covai</option><option>hydrabad</option><option>cochin</option><option>mumbai</option></select>
         <select id="week" name="week" multiple=""><option selected="true" disabled="">Weeks</option><option>week1</option><option>week2</option><option>week3</option><option>week4</option></select>
         <select id="team" name="team" multiple=""><option selected="true" disabled="">Teams</option><option>Java</option><option>Lamp</option><option>Oracle</option><option>Sales</option></select>
         <button type="button" class="go">GO</button>
    </form>
 </div>
 <script type="text/javascript">
    $(".go").click(function(){
        var value={};
        $.each($('#test').serializeArray(),function(k,v){
            if(!(value[v.name]))
                value[v.name]={};
           value[v.name][k]=v.value;
        });
        console.log(value);
    });
 </script>

【讨论】:

    猜你喜欢
    • 2016-09-10
    • 2013-06-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-10
    相关资源
    最近更新 更多