javascript - 使用 JQuery 和 javascript 单击按钮后,如何更改嵌套对象数组中的值?

标签 javascript jquery json node.js express

我正在尝试使用 Node.js、Javascript、JQuery、Jade 和 json 文件制作一个投票应用程序进行练习。

简而言之,我正在尝试计算每个选项的票数,以最终将其呈现到图表中。具体来说,每次有人选择与该选项相关的单选按钮并点击提交时,我都会尝试将 + 1 添加到 json 中的对象值 {"value": 0} 中。我可以到达例如{"option": "Puppies","value": 0} 在我的 JQuery 中,我一直在尝试找到一种方法来更改 $("#btnVote 中的对象值").click(function(){})。我不确定这是否可能或最好的方法。

这是 JSON 数据库的示例。

  [{
"name": "Puppies or Kitties",
"id": "f2754172-1c58-41ed-ae84-74e046888adb",
"choices" : [{"option": "Puppies","value": 0}, {"option": "Kittens","value": 0}],
"admin": true}]

这是我用来动态渲染民意调查选项的 Jade。

form(method="post")
    fieldset.form-group
        h1 #{poll.name}
    form
        table
            each choice in poll.choices
                tr
                    td=choice.option

                        input(type='radio',value=choice.value id=choice.option name="Answer" class="clsAnswer", style='margin:10px')

        br
        input(type="button", value="Submit Vote", id="btnVote")

A visual if it helps 这是我迄今为止使用过的 JQuery;

//Radio button vote function
$("#btnVote").click(function () {
    var selected = $(".clsAnswer:checked");
    if (!selected.val()) {
        alert("No Choice Was Made!");
    }
    else {
        var optionName = $('input[type=radio][name=Answer]:checked').attr('id');
        var selectedValue = selected.val();
        selectedValue = parseInt(selectedValue);
        alert("Value: " + selectedValue + "  " +  optionName);
    };
});

先谢谢大家了!

最佳答案

在这种情况下,您可以通过两种方式更改对象值,一种是通过将 JSON 存储在数据库(例如 mongodb)中,另一种是通过 cookie 作为临时更改。

当前的 JQuery 设置为接收静态 html,而不是来自 JSON 文件。

由于 JSON 文件在文件夹层次结构和静态(以及 html)中用作实践,因此当前设置不会呈现更新 JSON 中的对象值,甚至不会呈现您在 cookie 中看到的临时更改。 另一种替代方法是使用 node.js 并创建一个新的 JSON 文件,但这不是此应用程序的目的。

关于javascript - 使用 JQuery 和 javascript 单击按钮后,如何更改嵌套对象数组中的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39132114/

相关文章:

android - 不支持 loadContainerPreferNonDefault JSONArray 的 Google 跟踪代码管理器错误

c# - NewtonSoft.Json 自定义 JsonConverter 反序列化到 DateTime 不工作

json - Swift:如何从 JSON 数据读取 JSON 数据

javascript - 如何更改 javascript [客户端] 中不同阶段的端点?

Javascript 无法处理 JSON 文本文件

javascript - 如何知道你的递归函数已经结束

javascript - 如何在 AngularJS 中格式化输入中的数字

javascript - 无法让 .each() 在 JQuery 中工作

javascript - 用于 D3 图表的 AngularJS 指令

javascript - 如何在 Bootstrap 中自动换行