Javascript 在$中创建新的关联对象。每个

Javascript 在$中创建新的关联对象。每个,javascript,jquery,json,Javascript,Jquery,Json,我认为这个JavaScript应该可以工作,但它似乎不起作用。我能做些什么来修复它 我也愿意用其他方法来做到这一点。我只想返回一个JSON字符串,其中包含变量名(cn、sc、fn)及其值(例如,var cn=$('#deFNIN').val();——所以:“cn”:“MacDonalds”,“sc”:“Mac”) HTML: js/jQ: 变量objFields={ 'cn':{'id':'deCoNameIN','required':'True','title':'Company Na

我认为这个JavaScript应该可以工作,但它似乎不起作用。我能做些什么来修复它

我也愿意用其他方法来做到这一点。我只想返回一个JSON字符串,其中包含变量名(cn、sc、fn)及其值(例如,
var cn=$('#deFNIN').val();
——所以:
“cn”:“MacDonalds”,“sc”:“Mac”

HTML:



js/jQ: 变量objFields={ 'cn':{'id':'deCoNameIN','required':'True','title':'Company Name'}, 'sc':{'id':'deShortCoIN','required':'True','title':'Short Co-name'}, 'fn':{'id':'deFNIN','required':'false','title':'Contact first name'}, }; var arrDistinfo=[]; $.each(objFields,function(\ux,varname){ tmp=$(“#”+varname.id).val().trim(); 警报('Varname:'++'Val:'+tmp); arrDistinfo.push({uu:tmp}); }); var xx=JSON.stringify(arrDistinfo); 警报(xx);
所需的输出应如下所示:


[“cn”:“Macdonalds”,“cs”:“Macs”,“fn”:“Fred”]

您不能使用像这样的对象键这样的变量(在您的情况下,
{uU:tmp}
{“:tmp}
相同),您需要数组表示法:

var objFields={
“cn”:{
'id':'deCoNameIN',
“必需”:“True”,
“标题”:“公司名称”
},
“sc”:{
'id':'deShortCoIN',
“必需”:“True”,
“标题”:“简称”
},
“fn”:{
“id”:“deFNIN”,
“必需”:“false”,
“标题”:“联系人姓名”
},
};
var arrDistinfo=[];
$.each(objFields,function(\ux,varname){
tmp=$(“#”+varname.id).val().trim();
警报('Varname:'++'Val:'+tmp);
var obj={};
obj[]=tmp;
arrDistinfo.push(obj);
});
var xx=JSON.stringify(arrDistinfo);
警报(xx)





产生如下输出的
[{“cn”:“Macdonalds”},{“cs”:“Macs”},{“fn”:“Fred”}]
。如果我想让它看起来像这样怎么办:
[“cn”:“Macdonalds”,“cs”:“Macs”,“fn”:“Fred”]
?(我已经更新了问题以反映——很抱歉,我之前不清楚)您必须将其设置为一个这样的字符串。JS中没有像PHP.Shomz这样的关联数组,非常感谢。正是我需要的。投票表决^77。但事实证明,我走的是正确的道路--。如果没有你的例子,我永远不会想出解决方案:
var arrDistinfo={}
而不是
var arrDistinfo=[]
不客气,很高兴我能帮上忙!:)是的,您在使用标准数组时遇到了问题,但我相信您永远不会犯同样的错误。
HTML:

<input id="deCoNameIN" type="text" value="MacDonalds" /><br>
<input id="deShortCoIN" type="text" value="Macs" /><br>
<input id="deFNIN" type="text" value="Fred" /><br>

js/jQ:

var objFields = {
    'cn': { 'id':'deCoNameIN',  'required':'True',  'title':'Company Name'},
    'sc': { 'id':'deShortCoIN', 'required':'True',  'title':'Short Co name' },
    'fn': { 'id':'deFNIN',      'required':'false', 'title':'Contact first name' },
};
var arrDistinfo = [];

$.each(objFields,function(_, varname){
    tmp = $("#"+varname.id).val().trim();
    alert('Varname: ' +_+'   Val: '+tmp);
    arrDistinfo.push({_ : tmp});
});

var xx = JSON.stringify(arrDistinfo);
alert(xx);