Javascript 将选定单选按钮的值保存到字典
我试图保存选中单选按钮的值,并将该值存储到dict中,以Javascript 将选定单选按钮的值保存到字典,javascript,jquery,Javascript,Jquery,我试图保存选中单选按钮的值,并将该值存储到dict中,以JSON的形式发送回服务器。对于所有其他输入类型,我参考它们的数据名和val()来获取键和值 我无法对单选按钮值执行此操作,因此我获取单选按钮的值并手动存储它。问题是,它不仅更新了显示的特定记录的最新值,而且用这个新值覆盖了所有以前的值,我不希望这样 这是JQuery: radioVal='school'; $('.metwhere').on('change', function() { radioVal = $('inpu
JSON
的形式发送回服务器。对于所有其他输入类型
,我参考它们的数据名
和val()
来获取键和值
我无法对单选按钮值执行此操作,因此我获取单选按钮的值并手动存储它。问题是,它不仅更新了显示的特定记录的最新值,而且用这个新值覆盖了所有以前的值,我不希望这样
这是JQuery:
radioVal='school';
$('.metwhere').on('change', function() {
radioVal = $('input[name=met' + index + ']:checked').val();
});
$(document).on('click', '.send', function(e) {
e.preventDefault();
var contactDataToSend = [];
$('.contact').each(function () {
var data = {};
$(this).find(':input[data-name]').each(function () {
data[$(this).data('name')] = $(this).val();
});
data['metAt']=radioVal;
contactDataToSend.push(data);
});
以及html:
<input type="radio" class="metwhere" name="met' + index + '" value="tradeshow" id="tradeshow' + index + '"><label for="" class="control-label text-muted"> <b> Tradeshow</b></label><br>
<input type="radio" class="metwhere" name="met' + index + '" value="flight" id="flight' + index + '"><label for="" class="control-label text-muted"><b> Flight</b></label> <br>
<input type="radio" class="metwhere" name="met' + index + '" value="train" id="train' + index + '"><label for="" class="control-label text-muted"><b> Train</b> </label> <br>
<input type="radio" class="metwhere" name="met' + index + '" value="hotel" id="hotel' + index + '"><label for="" class="control-label text-muted"><b> Hotel</b></label><br>
&thinsp;展会
&thinsp;航班
&thinsp;火车
&thinsp;酒店
如何修改此项,使其仅使用
radioVal
不覆盖以前的记录:或者是否有一种方法可以使用data-
属性仅捕获选定的单选按钮值?将其复制粘贴到开发者工具控制台:
var data = {};
data["a1"] = 1;
data["b1"] = 2;
data;
data["c1"]=3;
data;
var data2 = {};
data2["a"] = 1;
data2["b"] = 2;
data2;
data2["a"]=3;
data2;
最后一个值覆盖前一个值的唯一方法是使用相同的键。因此,您的问题似乎是所有值都使用相同的键。仔细检查您的输入、它们的ID、它们的数据名等,以确保它们都是唯一的。在你的
$('.contact').each(function () {
以前
data['metAt']=radioVal;
做
查看值是什么。能否在
$('.metwhere')中共享html?on('change',function()){
index的值是多少?index计算动态创建这些html元素的按钮被单击的次数hanks,但是我已经检查了,但是每次添加新的div
元素时,我的索引值都在增加:index=$('#contacts div')。length+1;
@user94628添加console.log(数据)
在数据['metAt']=radioVal;
之前和之后查看它显示的内容。显示了被覆盖的radioVal数据,但我的所有密钥都是唯一的。您可以在此处发布第一个和第二个console.log的结果吗?在以FF和Chrome不显示的方式查看console.log时出现问题
console.log(data)