gpt4 book ai didi

javascript - Jqueryui Datepicker 不显示日历

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:38:42 26 4
gpt4 key购买 nike

我目前正在为两个输入字段使用 jquery ui datepicker。为了调用日历,输入字段必须有一个 datepicker 类。我在 javascript 中使用 for 循环来生成输入字段。我已将类 datepicker 添加到可能生成的每个输入字段中。但是没有日历出现。在 firebug 控制台中,html 确实显示输入字段具有类 datepicker。现在,如果使用静态输入字段执行此操作,则效果很好。单击该字段时如何显示日历? Example

在 jquery 中,这是我设置类的行:

content += '</select></br>Class Start Date: <input type="text" id="start_date_'+i+'" name="start_date_'+i+'" class="datepicker" />Class End Date: <input type="text" id="end_date_'+i+'" name="end_date_'+i+'" class="datepicker" /><div>';

完整的 Jquery 代码

<script>
$(document).ready(function () {
$('select').change(function() {
var option = $(this).val();
showFields(option);
return false;
});

function showFields(option) {
var content = '';
for (var i = 1; i <= option; i++) {
content += '<div id="course_'+i+'"><label>Course # '+i+'</label><br /><label>Course Name:</label> <select id="coursename_'+i+'" name="coursename_'+i+'"><option value="">--- Select ---</option>"'
<?php
$course_query = $db_con->prepare("SELECT course_id, course_name FROM courses_selection_list ");
$course_query->execute();
$data = $course_query->fetchAll();
foreach ($data as $row) {
//dropdown values pulled from database
echo 'content += \'<option value="' . $row['course_id'] . ':'.$row['course_name'].'">' . $row['course_name'] . '</option>\';';
}
?>
'"';

content += '</select></br>Class Start Date: <input type="text" id="start_date_'+i+'" name="start_date_'+i+'" class="datepicker" />Class End Date: <input type="text" id="end_date_'+i+'" name="end_date_'+i+'" class="datepicker" /><div>';

}

$('#course_catalog').html(content);
}
});

$(function() {
$( ".datepicker" ).datepicker({ dateFormat: "yy-mm-dd" }).val();
});
</script>

HTML

<form action="courses.php" method="POST">
<b>Select the course</b>
Academy<input id="academy_id" name="acad_id" placeholder="Academy ID" type="text" />
Courses being offered?
<select name="courses_offered">
<option value="default">---Select---</option>
<option value="1">1</option>
<option value="2">2</option>
</select>

<div id="course_catalog"></div>
Static input: <input type="text" id="last_contacted_date" name="last_contacted_date" class="datepicker" />
<input value="SAVE" name="submit" type="submit">
</form>

最佳答案

您要做的是确保 datepicker 代码在内容创建并添加到 DOM 后运行。最简单的方法是将 datepicker 代码移到 showFields 方法的末尾。像这样:

function showFields(option) { 

. . . rest of method . . .

$('#course_catalog').html(content);

$('#course_catalog').find(".datepicker").datepicker({dateFormat: "yy-mm-dd"});
}

$('#course_catalog').find(".datepicker") 部分将确保只有动态添加的 datepicker 字段会被初始化(你不'想针对静态的再次运行它)。

关于javascript - Jqueryui Datepicker 不显示日历,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20103782/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com