在jQuery中附加<option> </option>时,如何设置选中?

时间:2017-06-13 08:34:42

标签: javascript jquery

在我的代码中,我清空了<select>元素,并在可用时间内重新生成它。

但是,如果它与之前选择的时间匹配,我会尝试将<option>设置为选中:

if(time == currenttime) {
    console.log("Matched Time "+currenttime);
    $("#time-start").append($("<option></option>").attr("value", time).text(time)).prop("selected","selected");
} else {
    $("#time-start").append($("<option></option>").attr("value", time).text(time));
}

我收到控制台消息Matched Time,但.prop("selected","selected")未设置新创建的选项。

如何将其设置为选中?

3 个答案:

答案 0 :(得分:3)

我认为您的代码会更加可读(因此可以更轻松地在正确的位置设置selected属性):

let $opt = $("<option></option>").attr("value", time).text(time);
if(time == currenttime) {
    console.log("Matched Time "+currenttime);
    $opt.prop("selected","selected");
}
$("#time-start").append($opt);

答案 1 :(得分:1)

您已离婚,请将selected设为option元素

var option = $("<option>", {"selected" : time == currenttime, text: time, value: time });
$("#time-start").append(option );

或,使用.val()

$("#time-start").val(time)

答案 2 :(得分:1)

将其更改为以下内容:

$("#time-start").append($("<option></option>").prop("selected",true).attr("value", time).text(time));