使用javascript生成json数组
我希望根据html页面上的按钮选择生成json字符串使用javascript生成json数组,javascript,jquery,json,Javascript,Jquery,Json,我希望根据html页面上的按钮选择生成json字符串 <div id="btnStudios" > <button type="button" id="01" value="warner" class="btn btn-default">Warner</button> <button type="button" id="02" value="tf1" class="btn btn-default">TF1</button> <bu
<div id="btnStudios" >
<button type="button" id="01" value="warner" class="btn btn-default">Warner</button>
<button type="button" id="02" value="tf1" class="btn btn-default">TF1</button>
<button type="button" id="03" value="gaumont" class="btn btn-default">Gaumont</button>
<button type="button" id="04" value="pathe" class="btn btn-default">Pathe</button>
<button type="button" id="05" value="studiocanal" class="btn btn-default">StudioCanal</button>
<button type="button" id="06" value="francetv" class="btn btn-default">FranceTV</button>
<button type="button" id="07" value="m6snd" class="btn btn-default">M6SND</button>
</div>
<div id = "btnplatforms" class="btn-group">
<button type="button" id = "11" value="orange" class="btn btn-default">Orange</button>
<button type="button" id = "12" value="itunes" class="btn btn-default">iTunes</button>
<button type="button" id = "13" value="sfr" class="btn btn-default">SFR</button>
</div>
$(".btn").click(function() {
$(this).toggleClass('active');
});
华纳
TF1
高蒙特
帕特
研究运河
法国电视台
M6SND
橙色
iTunes
SFR
$(“.btn”)。单击(函数(){
$(this.toggleClass('active');
});
基于按钮的活动状态,我希望结果是例如
{工作室:华纳,高蒙特
平台:橙色,iTunes}
这可以通过javascript实现吗?如果是,怎么做?
提前感谢您的帮助。您可以尝试以下方法:
var output = {
Studios: $('#btnStudios button.active').map(function() {
return $(this).val();
}).get(),
Platform: $('#btnplatforms button.active').map(function() {
return $(this).val();
}).get()
};
这是。您可以尝试以下方法:
var btn_active_array = {
"Studios" : [],
"Platform":[]
};
$('#btnStudios .btn.active').each(function(index,btn_active){
btn_active_array["Studios"].push($(btn_active).text());
});
$('#btnplatforms .btn.active').each(function(index,btn_active){
btn_active_array["Platform"].push($(btn_active).text());
});
jsiddle链接:非常感谢@jcubic。不过,我也希望默认设置为all select。我试过**(!output.Studios){output.Studios=[“华纳”、“tf1”、“高蒙特”、“帕斯”、“斯图迪运河”、“弗朗西特”、“m6snd”]**你能告诉我如何使用JSFIDLE更好地完成它吗?非常感谢:)工作非常完美。非常感谢。希望有一天至少能达到你的一半:)嗨@jcubic,我这次尝试对列表项执行同样的操作,但我无法将其添加到json字符串中。我得到的输出是“报告”:[0,0]。我希望对列表执行与对按钮执行的操作完全相同的操作。我希望shrOv是默认值,而不是所有选定值。HTML代码是:
.attr('value')
或使用data value=“shrOv”
和data('value'))
谢谢:)我可以将字符串设置为默认值吗?如果没有选择,我希望选择所有选项。是:如果(btn_active_array[“Platform”]。长度==0)btn_active_array[“Platform”]。推送(“默认”);或者如果(!btn_active_array[“Platform”.长度)btn_active_array[“Platform”]。推送(“默认”);非常感谢:)你介意我让你在JSFIDLE上完成这件事吗?我的要求可能太高了,但我对这一切都很陌生,仍然掌握着窍门。谢谢你是一种进步:)