编辑块时,“添加块”表单会插入带有数据库数据的输入字段。新的空输入文本字段也可以通过同一表单上的按钮添加。
自动和手动插入代码相同:
<script type="text/javascript">
$(function(){
// Auto insert inputs with values from DB
var price = $('<td><?php echo $form->text('prices[]', $row['price'], ['class' => "decimals"]); ?></td>');
// Manually insert inputs with the button
$("#add").click(function() {
var price = $('<td><?php echo $form->text('prices[]', '', ['class' => "decimals"]); ?></td>');
});
// Check if only numeric keys pressed
$('.decimals').keydown(function (e) {
...
});
自动和手动插入的输入都有“小数”类(在浏览器控制台中验证)。$('.decimals').keydown 只允许按数字键,不能按字母。
但问题是“小数”类仅处于活动状态,即 keydown 仅适用于自动插入的输入,而不适用于手动插入的输入,尽管后者有它。
为什么无法识别“小数”类或按键无法处理手动添加的输入?
[解决了]
感谢基思,改变
$('.decimals').keydown(function (e) {
至
$('#build_table').on('keydown', '.decimals', function(e) {
工作!
PS。在哪里<tbody id="build_table">
参考。http://api.jquery.com/on/了解有关委托事件的更多信息