Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/289.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何在单击按钮时获取扩展的Accordion行的Div名称_Php_Jquery_Twitter Bootstrap_Accordion - Fatal编程技术网

Php 如何在单击按钮时获取扩展的Accordion行的Div名称

Php 如何在单击按钮时获取扩展的Accordion行的Div名称,php,jquery,twitter-bootstrap,accordion,Php,Jquery,Twitter Bootstrap,Accordion,我在用手风琴。每一行都可以展开以显示一个“详细信息部分”,其中包括一些附加信息和一个按钮,该按钮应从数据库中删除该行。行id和名称是使用PHP分配的,这似乎导致了我的问题。使用隐藏字段,我可以回显名称,但它始终是手风琴中最后一行的名称 通过使用PHP,如何检测展开的行并获取该div的名称 PHP/HTML <?php if (isset($_POST['btnDelete'])) { $idnbr = $_POST['hid']; echo $idnbr;

我在用手风琴。每一行都可以展开以显示一个“详细信息部分”,其中包括一些附加信息和一个按钮,该按钮应从数据库中删除该行。行id和名称是使用PHP分配的,这似乎导致了我的问题。使用隐藏字段,我可以回显名称,但它始终是手风琴中最后一行的名称

通过使用PHP,如何检测展开的行并获取该div的名称

PHP/HTML

<?php
if (isset($_POST['btnDelete'])) {
    $idnbr = $_POST['hid'];
    echo $idnbr;            // No matter which row is selected, always echoes last row's name
}
?>

<div id="div1">
    <?php
    // SQL and SQL connection stuff
    while ($row = odbc_fetch_array($data)) {
    ?>
        <div class="accordion-heading">
            <a class="accordion-toggle" data-toggle="collapse" data-parent="#div1" 
                href="#<?php echo $row['idnbr']; ?>">Delete</a>
        </div>
        <div id="<?php echo $row['idnbr']; ?>" name="<?php echo $row['idnbr']; ?>" 
            class="accordion-body collapse">
            <input type="hidden" id="hid" name="hid" 
                value="<?php echo $row['idnbr']; ?>">
        </div>
        <!-- Accordion body -->
        <div>
            <input class="btn" type="submit" name="btnDelete" 
                id="btnDelete" value="Delete">
        </div>
    <?php
    }
    ?>
</div>

在jQuery中,在设置隐藏字段的值之后,如果我阻止页面发布并在控制台中检查该值,则该值是正确的。当我让页面在控制台中发布并检查HFs值时,它始终是第一行的名称,无论我单击了删除哪个行。因此,最后一行的名称将被回显,而第一行的名称将被设置为隐藏字段

DB

Desc    |    idnbr
-------------------
Desc 1  |    10
Desc 2  |    20
Desc 3  |    30

因此,使用上面的示例DB,您将在页面上看到3个手风琴行(Desc 1、Desc 2、Desc 3)。如果我展开第二行(Desc 2)并单击“删除”,我现在得到的是:

Alert:           20
Hidden Field:    10
Echo:            30


我需要做什么才能回显正确的值,还是我完全错了?(在本例中为20)

使输入提交的name属性唯一,如

Alert:           20
Hidden Field:    10
Echo:            30
  if(!empty($_POST))
  {
     $idnr = str_replace('btnDelete','',array_search('Delete', $_POST));
  }