繁体   English   中英

为每个检查的元素执行功能

[英]Execute function for each element checked

我有几个复选框,我想为标记为选中的每个元素执行一个功能。 我怎样才能做到这一点?

在我的特殊情况下,我认为这可能会容易一些,因为复选框的构造如下:

        $get_json_values=json_decode($json_string,true);
        foreach ($get_json_values as $key=>$getlikes) {  
          if($getlikes['type']=='like') {
          ?>
            <div>
              <input type="checkbox" name="<?php echo $getlikes['name'] ?>" value="<?php echo $getlikes['id'] ?>" checked> 
            <a href="https://www.facebook.com/<?php echo $getlikes['id']; ?>" target="_top">
              <?php echo $getlikes['name'] ?> </a>
            </div>
        <?php
      }}
       ?>

所以我认为它应该像这样:

function doIfChecked()
{
  foreach ($get_json_values as $key=>$getlikes) {
       if($getlikes['type']=='like'&&<sequence that checks if checkbox is checked>)
           {//do stuff}
          }
}

谁能帮忙吗?


多亏了朱利安·林(Julian H. Lam),我找到了一个不错的答案, 但是我的问题是,对于每个元素,我都需要向服务器发出请求(就像Facebook上的页面一样),但是我无法在其中放入任何php javascript。

那么,由于js内不允许使用php,我该怎么办?

使用javascript:

var checkboxes = document.querySelectorAll('input[type="checkbox"]'),
    numCheckboxes = checkboxes.length,
    x;

for(x=0;x<numCheckboxes;x++) {
    if (checkboxes[x].checked === true) {
        // add code here to be done for each checked element
        // you can refer to the checked element by calling "checkboxes[x]"
    }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM