我有一个问题,我找不到它在哪里,我向你解释我有一个页面.php它集成了一个表单.php在这个页面中.php我有一个 page1.php它也在集成,也有形式.php,在这种形式中,我有复选框,只有我的函数 jquery 适用于 pahe.php但不适用于 page1.php我不明白为什么
页.php
<div class="left" style="float: left;">
<?php include('C_User_file/Planning/Form/Start/FStartT1.php'); ?>
</div>
页1.php
<div class="left" style="float: left;">
<?php include('C_User_file/Planning/Form/Start/FStartT1.php'); ?>
</div>
FStartT1.php
<label>
<input type="checkbox" id="cbox1" value="1" checked="checked" name="ALL1">
ALL
</label>
<label>
<input type="checkbox" id="cbox2" value="1" name="FMS1">
FMS
</label>
<label>
<input type="checkbox" id="cbox3" value="1" name="CPT1">
CPT
</label>
jquery.js
$("#cbox1" ).click(function(){
$('input[name=ALL1]').attr('checked', true);
$('input[name=FMS1]').attr('checked', false);
$('input[name=CPT1]').attr('checked', false);
});
$("#cbox2" ).click(function(){
$('input[name=ALL1]').attr('checked', false);
$('input[name=FMS1]').attr('checked', true);
$('input[name=CPT1]').attr('checked', false);
});
$("#cbox3" ).click(function(){
$('input[name=ALL1]').attr('checked', false);
$('input[name=FMS1]').attr('checked', false);
$('input[name=CPT1]').attr('checked', true);
});
在第 .php 页上工作正常,但在第 1 页上.php这根本不起作用,感谢您的帮助
请注意,我的页面1.php包含在页面中.php
通过查看您的代码,我了解了一个问题。FStartT1.php
即您的表格被导入 2 次。
因此,从技术上讲,加载页面时您有 2 个表单字段。如果您有任何疑问,只需在 chrome 上点击ctr+u
并检查页面源代码。您找到 2 种表格。表示 ID 正在重复。SO jQuery无法处理它。ID 必须是唯一的。因此,以下部分将不起作用。
$("#cbox1" ).click(function(){
});
$("#cbox2" ).click(function(){
});
$("#cbox3" ).click(function(){
});
溶液:使其成为类而不是 ID。并像这样打电话
<label>
<input type="checkbox" class="cbox1" value="1" checked="checked" name="ALL1">
ALL
</label>
<label>
<input type="checkbox" class="cbox2" value="1" name="FMS1">
FMS
</label>
<label>
<input type="checkbox" class="cbox3" value="1" name="CPT1">
CPT
</label>
在你的jQuery中,
$(".cbox1" ).click(function(){
});
$(".cbox2" ).click(function(){
});
$(.cbox3" ).click(function(){
});
替代解决方案:无线电场
有什么理由不使用无线电场吗?
如果有人(无论出于何种原因(在其浏览器设置中禁用了 JavaScript,则该人将能够选中并组合您的复选框。
<label>
<input type="radio" class="cbox1" value="1" checked="checked" name="events">
ALL
</label>
<label>
<input type="radio" class="cbox2" value="1" name="events">
FMS
</label>
<label>
<input type="radio" class="cbox3" value="1" name="events">
CPT
</label>
使用以下 jQuery:
$("input[type=checkbox]" ).click(function(){
$("input[type=checkbox]" ).each(function(){
$(this).attr('checked', false);
});
$(this).attr('checked', true);
});
试试上面的jquery代码。
解释:
您使用 jquery 选择器作为 id,并在 page 中包含 page1.php.php并且两个页面都包含 FStartT1.php 页面。因此,您有两次具有相同 id 的相同复选框。
这就是为什么你的jquery代码适用于第一个而不是第二个。
请记住,HTML 页面和 jQuery 的 id 必须相同。我有一个通用的jQuery代码。