jquery 无法在选择标记中追加选项

ddarikpa  于 2023-06-22  发布在  jQuery
关注(0)|答案(1)|浏览(142)

有人能告诉我我做错了什么吗?

var $whatSummary = $("<p></p>");

var remindersContent2 = {
"Variant A": {
    "day": [
        -1,
        0
    ],
    "ids": [
        "D-1",
        "D0"
    ],
    "qm": {
        "a": b
    },
    "msg": {
        "a": b
    }
},
"Variant B": {
    "day": [
        1,
        2
    ],
    "ids": [
        "D1",
        "D2"
    ],
    "qm": {
        "x": y
    },
    "msg": {
        "x": y
    }
}

}

$whatSummary.append("<select class='js-variantSelectContent'></select>")
    for (var key in remindersContent2) {
      var pkName =_dashUtils.getVariantName(remindersContent2[key]['day'])
      $('.js-variantSelectContent').append($("<option value ='" + key + "'>" + pkName + "</option>"))
    }`

通过编写上面的代码,我想添加一个变量选择器,它将根据变量pkName显示数据。这里$whatSummary是一个空容器,我们根据需要在其中添加选择器。在这里,pkName被正确地填充了字符串值,例如对于变体A为“-1st day to due date”,对于变体B为“+1st day to +2nd day”。但是选项没有附加pkNames,有人能帮忙吗?

zhte4eai

zhte4eai1#

$whatSummary被附加到DOM之前,选择器.js-variantSelectContent无法在其中找到select元素。
您可以先将select元素存储在单独的变量中。

const $select = $("<select class='js-variantSelectContent'/>");
$whatSummary.append($select);
for (const key in remindersContent2) {
    // ...
    $select.append($("<option value ='" + key + "'>" + pkName + "</option>"))
}
// add $whatSummary to the DOM after...

相关问题