मैंने अपनी डेटाबेस तालिका से एक अकॉर्डियन बनाया है जहाँ प्रत्येक पंक्ति एक नया कार्ड है, पहला कॉलम वह शीर्षक है जिसके द्वारा वह फैलता है और शेष कॉलम बंधनेवाला भाग की सामग्री है।

यह पूरी तरह से अपेक्षित काम करता है, लेकिन सोच रहा था कि क्या इसके बाहर एक बटन प्राप्त करने का प्रयास करने का कोई तरीका है जो उन सभी का विस्तार करेगा?

$i = '0';

$var = '<div id="accordion">';

$sql = "SELECT * FROM table";
$stmt = DB::run($sql);
while ($row = $stmt->fetch(PDO::FETCH_ASSOC)){

    $col1 = $row['col1'];
    $col2 = $row['col2'];
    $col3 = $row['col3'];
    $col4 = $row['col4'];

    $i++;

    $var .= '<div class="card">';

        $var .= '<div class="card-header" id="heading'.$i.'">';
            $var .= '<button class="btn btn-link" data-toggle="collapse" data-target="#collapse'.$i.'" aria-expanded="true" aria-controls="collapse'.$i.'">';
                $var .= $col1;
            $var .= '</button>';
        $var .= '</div>';

        $var .= '<div id="collapse'.$i.'" class="collapse" aria-labelledby="heading'.$i.'" data-parent="#accordion">';
            $var .= '<div class="card-body">';
                $var .= $col2;
                $var .= $col3;
                $var .= $col4;
            $var .= '</div>';
        $var .= '</div>';

    $var .= '</div>';
}

$var .= '</div>';
0
Paddy Hallihan 4 जुलाई 2019, 16:19

1 उत्तर

सबसे बढ़िया उत्तर

यही मेरे लिए अंत में काम किया:

function expand_all(){
    $('.collapse').each(function(){
        $(this).addClass('show');
    });
    $('.accordion-btn').each(function(){
        $(this).attr('aria-expanded','true');
    });
}
function collapse_all(){
    $('.collapse').each(function(){
        $(this).removeClass('show');
    });
    $('.accordion-btn').each(function(){
        $(this).attr('aria-expanded','false');
    });
}
0
Paddy Hallihan 31 जुलाई 2019, 11:54