JQuery in PHP CHECKED



我有一个问题,我找不到它在哪里,我向你解释我有一个页面.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代码。

最新更新