Javascript 隐藏复选框并使标签可单击。JS

Javascript 隐藏复选框并使标签可单击。JS,javascript,php,html,Javascript,Php,Html,如何隐藏原始复选框,使标签可以单击并像复选框一样工作?我相信在JS中有一种方法可以做到这一点!我用PHP加载标签和复选框,它们是动态加载的,并且总是不同的,这取决于用户在此页面之前选择的内容。谢谢 foreach ($row as $type) { ?> <label for="<?php echo $type['id'] ?>" class="interests-span">

如何隐藏原始复选框,使标签可以单击并像复选框一样工作?我相信在JS中有一种方法可以做到这一点!我用PHP加载标签和复选框,它们是动态加载的,并且总是不同的,这取决于用户在此页面之前选择的内容。谢谢


                foreach ($row as $type) { ?>
                   <label for="<?php echo $type['id'] ?>" class="interests-span">
                        <h3><?php echo $type['Type'] ?></h3>
                    </label>
                    <input id="<?php echo $type['id'] ?>" type="checkbox" style="display:block;" value="<?php echo $type['Type']?>" name="options[]"/>
                    <?php
                }


foreach($行作为$类型){?>
注意:标签应与id或名称链接

这是您想要的自定义实现。 但我认为选择只包含值的复选框是不正确的

foreach ($row as $type) { ?>
     <label for="<?php echo $type['Type'] ?>" class="interests-span" 
        onclick="toggleCheckboxFromLabel('<?php echo $type['Type'] ?>')"
     >
          <h3><?php echo $type['Type'] ?></h3>
     </label>
     <input type="checkbox" style="display:block;" value="<?php echo $type['Type']?>" 
           name="options[]"/>
<?php } ?>

<script>
function toggleCheckboxFromLabel(val){
    var checkbox = document.querySelector('input[type="checkbox"][value="' + val + '"]')
    checkbox.checked = !checkbox.checked;
}
</script>
foreach($row作为$type){?>
注意:标签应与id或名称链接

这是您想要的自定义实现。 但我认为选择只包含值的复选框是不正确的

foreach ($row as $type) { ?>
     <label for="<?php echo $type['Type'] ?>" class="interests-span" 
        onclick="toggleCheckboxFromLabel('<?php echo $type['Type'] ?>')"
     >
          <h3><?php echo $type['Type'] ?></h3>
     </label>
     <input type="checkbox" style="display:block;" value="<?php echo $type['Type']?>" 
           name="options[]"/>
<?php } ?>

<script>
function toggleCheckboxFromLabel(val){
    var checkbox = document.querySelector('input[type="checkbox"][value="' + val + '"]')
    checkbox.checked = !checkbox.checked;
}
</script>
foreach($row作为$type){?>

只需添加一个等于for属性的id

$counter = 0;
foreach ($row as $type) { ?>
  <label for="<?= 'checkbox_' . $counter ?>" class="interests-span">
      <h3><?php echo $type['Type'] ?></h3>
  </label>
  <input type="checkbox" style="display:none;" id="<?= 'checkbox_' . $counter ?>" value="<?php echo $type['Type']?>" 
        name="options[]"/>
<?php
   $counter++;
} ?>
$counter=0;
foreach($行作为$类型){?>

只需添加一个等于for属性的id

$counter = 0;
foreach ($row as $type) { ?>
  <label for="<?= 'checkbox_' . $counter ?>" class="interests-span">
      <h3><?php echo $type['Type'] ?></h3>
  </label>
  <input type="checkbox" style="display:none;" id="<?= 'checkbox_' . $counter ?>" value="<?php echo $type['Type']?>" 
        name="options[]"/>
<?php
   $counter++;
} ?>
$counter=0;
foreach($行作为$类型){?>

标签通过id链接到输入。id在哪里?标签通过id链接到输入。id在哪里?