select2发送ID而不是文本

问题描述

我正在为此建立一个erp网站,我正在使用select2自动填充产品,我正在使用根据从服务器接收的数据创建的数组初始化select2(products是包含所有产品详细信息的对象数组)

let data = products.map(product =>{return {id : product._id,text : product.product_name}});
//data = [{id : 1,text : 'al00'},{id : 2,text : 'al01'},{id : 3,text : 'al03'}]


$('.js-example-basic-single').select2({
    data : data
});

前端看起来很完美,我可以在网页中找到所有产品名称

.js-example-basic-single is a select input in the form 

提交此表单时,我得到的是元素的ID而不是元素的名称

      <form
        action="/create-barcodes"
        id="create-barcodes-form"
        method="POST">
        <div id="barcode-wrapper">
          <div class="form-group">
            <label for="size">Product</label>
            <div id="barcode-select-container">
              <select
                class="js-example-basic-single form-control"
                id="barcode"
                name="barcode">
              </select>
            </div>
            <label for="quantity">quantity</label>
            <input
              type="number"
              class="form-control mt-2"
              name="quantity"
              id="quantity"/>

          </div>
        </div>
        <input
          type="submit"
          class="btn btn-primary"
          value="Generate"
          id="generate-barcode"/>
      </form>

我收到的回复

{ barcode: '2',quantity: '52' }

我期望的答复

{ barcode: 'al01',quantity: '52' }

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)