javascript - 将选定单选按钮的值保存到字典中

标签 javascript jquery

我正在尝试保存所选单选按钮的值,并将该值存储到字典中,以将其作为 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>&thinsp;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>&thinsp;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>&thinsp;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>&thinsp;Hotel</b></label><br>

如何修改它以仅使用 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;

最后一个值覆盖先前值的唯一方法是它们使用相同的 key 。所以你的问题似乎是所有值都使用相同的键。仔细检查您的输入、它们的 ID、数据名称等,以确保它们都是唯一的。在你的

$('.contact').each(function () {

之前

data['metAt']=radioVal;

console.log(data)

查看值是什么。

关于javascript - 将选定单选按钮的值保存到字典中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26383617/

相关文章:

javascript - 设置表格分隔符位置

javascript - 使用javascript从数组访问元素名称(无值)

javascript - fetch() 无法设置从服务器接收到的 cookie?

jquery - 理解Jquery模板

javascript - 如何用里面的图像和文字编码进度圈?

javascript - 单击按钮时打开弹出框

javascript - 在ReactJS To Do App上实现删除功能

jquery - 检查点击 div 是否触发了模糊

javascript - 使用 fullCalendar 控件获取所选时段的日期

javascript - jQuery 表单验证空白字段或格式错误的字段