Jquery 在将innerHTML注入DOM之后,如何正确设置所选选项?
我有一个php脚本,它以15分钟为增量生成开始时间和结束时间之间的时间列表。在HTML方面,我有两个用于开始和结束时间的select下拉列表,我为这两个select下拉列表加载相同的php脚本。我将列表注入DOM的innerHTML,然后使用jQuery将结束时间设置为列表中的最后一个值 我可以在HTML源代码中看到选择了结束时间的最后一个值,但在选择下拉列表中,我只看到结束时间的第一个值。如何更新/刷新“选择”下拉列表以显示实际选择的值Jquery 在将innerHTML注入DOM之后,如何正确设置所选选项?,jquery,dom,Jquery,Dom,我有一个php脚本,它以15分钟为增量生成开始时间和结束时间之间的时间列表。在HTML方面,我有两个用于开始和结束时间的select下拉列表,我为这两个select下拉列表加载相同的php脚本。我将列表注入DOM的innerHTML,然后使用jQuery将结束时间设置为列表中的最后一个值 我可以在HTML源代码中看到选择了结束时间的最后一个值,但在选择下拉列表中,我只看到结束时间的第一个值。如何更新/刷新“选择”下拉列表以显示实际选择的值 function addEmployee() {
function addEmployee() {
var num = 1;
var fields= html("employees").innerHTML;
num += html("employees").getElementsByTagName('a').length;
if(num <= 14) {
fields+="<div id=\"employee_line"+num+"\">";
fields+="<label for=\"employeeName"+num+"\">Employee: <select name=\"employeeName"+num+"\"><?php echo $opts; ?></select></label> ";
if(scheduler.templates.event_date(new Date(html("start_date").value)) == "07:00") {
fields+="<label for=\"employeeTimeStart"+num+"\">Start Time: <select name=\"employeeTimeStart"+num+"\"><?php echo $time_morning; ?></select></label> ";
fields+="<label for=\"employeeTimeEnd"+num+"\">End Time: <select name=\"employeeTimeEnd"+num+"\"><?php echo $time_morning; ?></select></label> ";
} else if(scheduler.templates.event_date(new Date(html("start_date").value)) == "12:00") {
fields+="<label for=\"employeeTimeStart"+num+"\">Start Time: <select name=\"employeeTimeStart"+num+"\"><?php echo $time_afternoon; ?></select></label> ";
fields+="<label for=\"employeeTimeEnd"+num+"\">End Time: <select name=\"employeeTimeEnd"+num+"\"><?php echo $time_afternoon; ?></select></label> ";
} else if(scheduler.templates.event_date(new Date(html("start_date").value)) == "17:00") {
fields+="<label for=\"employeeTimeStart"+num+"\">Start Time: <select name=\"employeeTimeStart"+num+"\"><?php echo $time_evening; ?></select></label> ";
fields+="<label for=\"employeeTimeEnd"+num+"\">End Time: <select name=\"employeeTimeEnd"+num+"\"><?php echo $time_evening; ?></select></label> ";
}
fields+="<a href=\"#\" onclick=\"delete_employee("+num+")\">del</a>";
fields+="<br /></div>";
document.getElementById("employees").innerHTML = fields;
$('select[name^="employeeTimeStart' + html("employees").getElementsByTagName('a').length + '"]').children('option').each(function(index, obj) {
var date = new Date(html("start_date").value.toString("r"));
if(scheduler.templates.event_date(date) == $(obj).val()) {
$(obj).attr("selected", "selected");
}
});
$('select[name^="employeeTimeEnd' + html("employees").getElementsByTagName('a').length + '"]').children('option').each(function(index, obj) {
var date = new Date(html("end_date").value.toString("r"));
if($(obj).val() == scheduler.templates.event_date(date)) {
$(obj).attr("selected", "selected");
}
});
} else {
alert("Maximum number of employees reached.");
}
}
函数addEmployee(){
var-num=1;
var fields=html(“雇员”).innerHTML;
num+=html(“employees”).getElementsByTagName(“a”).length;
如果(num您需要使用.on
$("select").on("change", function(event){
alert($(this).val());
});
使用.prop更改所选属性
$(obj).prop("selected", true);
或者你也可以这样做
$(theselect).val(thevalue);
代码值1024个单词…;-)@T.J.Crowder,如2^10参考。