因此,我尝试创建一个动态选择框,其中包含每个选项的输入框,以便用户可以输入数量。
function formatMaterialSelection(material) {
return material.full_name || material.text;
}
$("#select_materials").select2({
allowClear: true,
placeholder: "Search materials ...",
ajax: {
//other code here
processResults: function(data, params) {
var select2data = $.map(data.materiais, function(obj) {
obj.id = obj.id || obj._id;
obj.full_name =
`
<strong><p>${obj.nome} (${obj.cod}) - ${obj.origem}</p></strong>
<input class="qtd" type="number" name="${obj.id}-qtd_pedida">
`
obj.text = obj.text || obj.desc;
return obj;
});
return {
results: data.materiais,
pagination: {
more: (params.page * 20) < data.total_count
}
};
},
//some code here
},
templateSelection: formatMaterialSelection
});
所以我现在已经开始工作,但是我无法让用户专注于select2区域内的输入。下面的图片与我所拥有的:
select2 with input number inside
当我点击输入框插入数量时,它只会聚焦回搜索区域。有没有更好的方法在选择区域内有一个输入框?或者有没有办法解决聚焦问题?
修改:jQuery select2. Can't get focus in the input field inside formatSelection
我已经看到这个问题是一样的,但答案并没有解决。