【问题标题】:Is first value checked and second checkbox value post是否检查了第一个值并发布了第二个复选框值
【发布时间】:2020-07-21 19:37:41
【问题描述】:
function some_name() {
    if (document.getElementById('first').checked)      
        document.getElementById('second').checked=true; 
    else 
        document.getElementById('second').checked=false; 
    } 

                    <?php
                $idno       =   $vt->veriTemizle($_GET['idno']);
                $rest     =   $vt->sqlSorgu("Select * From rest ");
                foreach($vt->fetch_assocAll() as $rest){
                    echo '  
                    
                    <input type="checkbox" name="option1[]"  onclick="some_name();" id="first" value="'.$rest["price"].'" />
                    <input type="hidden" name="extra[]"  onclick="some_name();" id="second" value="'.$rest["productname"].'-'.$rest["price"].' " />
                               ';
                }
            ?>

是我长期以来一直在尝试做的代码。 单击上面列出的复选框时,我必须选择另一个。

列出的第一条记录有效,其他记录无效

【问题讨论】:

  • &lt;input type="hidden" onclick="some_name();" - 是的,这是有道理的(invisible 元素的点击处理程序)......就像尝试为该类型的字段设置 checked 一样.

标签: javascript php checkbox


【解决方案1】:

您可以为所有复选框生成 ID,并像这样解决问题

<script>
function some_name( i) {
    console.log(i);
    if (document.getElementById('first'+i).checked)      
        document.getElementById('second'+i).checked=true; 
    else 
        document.getElementById('second'+i).checked=false; 
    } 
    </script>

                    <?php
                $row['price'] = 100;
                $row['productname'] = "ABC";
                $arr[] = $row;
                $row['price'] = 1001;
                $row['productname'] = "asd";
                $arr[] = $row;
                $row['price'] = 1002;
                $row['productname'] = "ABC2";
                $arr[] = $row;
                $row['price'] = 1003;
                $row['productname'] = "ABC1";
                $arr[] = $row;
                $i=0;
                foreach($arr as $rest){
                    echo '  
                    
                    <input type="checkbox" name="option1[]"  onclick="some_name('.$i.');" id="first'.$i.'" value="'.$rest["price"].'" />
                    <input type="checkbox" name="extra[]"  onclick="some_name('.$i.');" id="second'.$i.'" value="'.$rest["productname"].'-'.$rest["price"].' " />
                               ';
                               $i++;
                }
            ?>
            
    

【讨论】:

  • 您不必必须,除了通过 ID 之外,还有其他选择元素的方法。
  • @CBroe 如果您查看他的代码,这就是他处理其他复选框的方式,所以最好只编辑他的代码
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-11-11
  • 2018-01-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多