如何将 select 上的前 10 个值设置为多个 select 标签

How to set preselected the 10 first values on PHP into multiple select tag

我有这个 Ajax 调用,我正在取回一个数组。我已将元素插入到多个 select 中。 到目前为止,preselected 值都是 ALL,但我只想 preselect 前 10 个值。 我知道它在这条线上遗漏了一些东西

sel.append('<option value=" ' + getOb[i]["ObN"] + ' " selected>' + getOb[i]["Ob"] + '</option>');

但不知道少了什么。一些帮助:)

$.ajax({
                            url: "data/jjj.php?call=sss"
                            , type: 'POST'
                            , success: function (getOb) {
                                if (getOb != null) {
                                    var sel = $("#mf123_ob");
                                    for (var i = 0; i < getOb.length; i++) {
                                        sel.append('<option value=" ' + getObjekte[i]["ObN"] + ' " selected>' + getObjekte[i]["Ob"] + '</option>');
                                    }
                                }

您可以使用您的索引来确定是否应该选择它:

for (var i = 0; i < getOb.length; i++) {
    sel.append('<option value="' + getObjekte[i]["ObN"] + '"' + (i < 10 ? ' selected' : '') + '>' + getObjekte[i]["Ob"] + '</option>');
}

或者使用字符串插值而不是连接:

for (var i = 0; i < getOb.length; i++) {
    sel.append(`<option value="${getObjekte[i]["ObN"]}"${i < 10 ? ' selected' : ''}>${getObjekte[i]["Ob"]}</option>`);
}

我直接在字符串中使用了三元表达式 i < 10 ? ' selected' : '',但您也可以创建一个预先保存该值的变量,然后在构建字符串时使用它。