javascript - 动态地将数据从表单保存到数组中并显示

标签 javascript jquery

<p><label for="id_book">Book:</label> <select id="id_book" name="book">
<option value="" selected="selected">---------</option>
<option value="1">1</option>
<option value="5">2</option>
<option value="10">3</option>
</select></p>

<p><label for="id_category">Category:</label> <select id="id_category" name="category">
<option value="" selected="selected">---------</option>
<option value="1">1</option>
<option value="5">2</option>
<option value="7">4</option>
</select></p>

<p><label for="id_pages">Pages:</label> <input id="id_pages" name="pages" type="number"/></p>

<button type="button">Add</button>

我有这些字段。点击Add后我该怎么办?按钮将表单中的所有数据保存到例如数组中并显示它?我需要有机会多次填写这张表格。最后我需要将这些数据保存在后端脚本中。

最佳答案

你真的应该考虑至少使用一些像backbone.js这样的库它有一个很棒的数据模型 API。

但是,使用纯 jquery,这可能看起来像:

http://jsbin.com/noxarufu/1/edit

  <script type="text/javascript">

    var values = {
      book: '',
      category: '',
      pages: 0
    };

    function onAdd() {
      values.book = $('#id_book').val();
      values.category = $('#id_category').val();
      values.pages = $('#id_pages').val();

      console.log(values)
    }
  </script>

打开控制台查看结果。

要为每次点击添加新行值:

  <script type="text/javascript">

    var values = [];

    function onAdd() {
      var addVal = {
        book: $('#id_book').val(),
        category: $('#id_category').val(),
        pages: $('#id_pages').val()
      }
      values.push(addVal);

      console.log(values)
    }
  </script>

关于javascript - 动态地将数据从表单保存到数组中并显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21986451/

相关文章:

javascript - 为什么有时 ng-init 不触发 $watch 监听器?

Javascript:测试在正则表达式字符串中找到单个字符

javascript - SequelizeJS 传递值数组

javascript - 为什么可汗学院使用只有空白的模板?

javascript - 从序列化数组中提取值 - 表单验证

Jquery,如何在初始页面加载时使用一次且仅一次的方法?

javascript - 如何进行实时同步编辑?

javascript - 单击带有 getElementById 的表单提交后显示弹出窗口

javascript - 如何在 Bootstrap 折叠中折叠多个克隆元素之一

jquery - 如何停止多次悬停时重复淡入淡出