我有一个具有多种形式的页面(所有表单都有相同的类,只有唯一的ID)。该表格具有可供人们输入开始和结束工作日期的功能。还有一个“我目前在这里工作”的复选框,如果选中此项,则结束工作日期输入字段将替换为单词“present”。jQuery - 一种形式影响其他
点击/切换复选框对每个单独的表单都可以正常工作。问题是,当一个表单中的复选框被预先检查时,即使没有选中相应表单中的复选框,所有其他表单也会有“存在”字样。
这里是我的jQuery代码:
$(document).ready(function() {
if ($('.checkbox-present').length) {
var presentCheckBox = $('.checkbox-present');
var endYear = $(presentCheckBox).parents('.checkbox-parent').find('.position-end');
if ($(presentCheckBox, endYear).is(':checked')) {
$('.form-group', endYear).hide();
$(endYear).append('<p class="position-present">Present</p>');
}
} else {
$('.position-present', endYear).remove();
$('.form-group', endYear).show();
}
});
$('.checkbox-present').change(function() {
var endYear = $(this).parents('.checkbox-parent').find('.position-end');
if ($(this).is(':checked')) {
$('.form-group', endYear).hide();
$(endYear).append('<p class="position-present">Present</p>')
} else {
$('.position-present', endYear).remove();
$('.form-group', endYear).show();
}
});
Fiddle here to properly see the effect.
你可以从小提琴看到,表2有词“本”,即使其复选框处于未选中状态。我确定这是因为Form 1中的复选框。
如何解决此问题?我仍然在寻找jQuery的方式,所以我不知道如何解决这个问题,但我认为它与绑定有关?
你其实没有任何形式....'
'。如果计划提交给服务器将需要表单标签以使其成为最简单的提交(可以无需序列化,但因为您说你只是学习会容易得多) – charlietfl@charlietfl是的,这只是整个代码片段代码..谢谢:) – gummybearpaws