我试图在由JavaScript生成的div(子页面)中调用jQuery操作。我很新,所以请耐心等待。
在index.html中,我通过JavaScript加载命令填充div。
<ul>
<li><a href="./data/new_group_form.php" onclick="load('./data/new_group_form.php','content');return false;">Add new Group</a></li>
<li><a href="./data/list_group.php" onclick="load('./data/list_group.php','content');return false;">List Groups</a></li>
</ul>
<div id="content"></div>
然后在生成的页面上(这不是一个完整的HTML页面,只是一个表单)。
<?php
include "../incl/db_class_inc.php";
?>
<script>
$('input').live('click', function(){
$("input:.datepicker").datepicker();
});
</script>
<form action="./data/save_group.php" method="post" enctype="application/x-www-form-urlencoded">
<hr>
<table>
<tr>
<td>Group number:</td>
<td><input type="number" name="name" required /></td>
</tr>
<tr>
<td>Start date:</td>
<td><input type="date" name="start_date" class="datepicker" required /></td>
</tr>
<tr>
<td>End date:</td>
<td><input type="date" name="end_date" class="datepicker" /></td>
</tr>
我正在尝试运行jQuery脚本,它不会运行任何东西。我知道它与.live()函数有关吗?
如何让这个jQuery函数在创建的新DIV中运行?
答案 0 :(得分:1)
你的选择器错了:
$("input:.datepicker").datepicker();
您需要删除:
$("input.datepicker").datepicker();
请注意,live
已被弃用,如果您使用的是jQuery 1.7及更高版本,请使用on
函数
$('body').on('click', 'input',function(){
$("input.datepicker").datepicker();
});
将body
替换为最接近保存动态输入的静态元素(div \ form)
将内联脚本移动到js文件(单独关注)。 HTML应该只处理页面的显示,而不是脚本。