在我的代码中,我清空了<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")
未设置新创建的选项。
如何将其设置为选中?
答案 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));