如何将值设置为在 select2 中显示而不是文本

How to set value to display instead of text in select2

$('select').select2({width:"300"});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<link href="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.3/css/select2.min.css" rel="stylesheet" />
<script src="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.3/js/select2.min.js"></script>
<select id="convertIt" multiple>
    <option value="A">Australia</option>
    <option value="U">US </option>
    <option value="J">Japan</option>
    <option value="E">Europe</option>
    <option value="C">Canada</option>
  </select>

我也试过 id 但没用

$('#convertIt').select2({
    placeholder: "Select an country"
}).select2("data",
     [{"id":"test1","text":"Henry Ford"},{"id":"test2","text":"Tom Phillips"}]
);

谢谢

试试这个:

function formatSelection(val) {
  return val.id;
}

$('#convertIt').select2({
    placeholder: "Select an country",
    formatSelection: formatSelection,
}).select2("data",
     [{"id":"test1","text":"Henry Ford"},{"id":"test2","text":"Tom Phillips"}]
);

function formatSelection(val) {return val.id;}

$('select').select2({templateSelection: formatSelection,width:"300"});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<link href="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.3/css/select2.min.css" rel="stylesheet" />
<script src="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.3/js/select2.min.js"></script>
<select id="convertIt" multiple>
    <option value="A">Australia</option>
    <option value="U">US </option>
    <option value="J">Japan</option>
    <option value="E">Europe</option>
    <option value="C">Canada</option>
  </select>