Как я могу создать выпадающий список "перейти на страницу" в PHP? - PullRequest
1 голос
/ 23 августа 2011

Я пытаюсь расширить компонент для Joomla под названием Jquarks. Этот компонент позволяет создавать постраничные тесты и отвечать на вопросы или исправлять свои ответы, просматривая вопросы. Я думаю, что это обрабатывается некоторым кодом Javascript.

Это фрагмент кода, который, по моему мнению, заставляет эту функциональность работать, но я не знаю, как начать ее модификацию. Я хочу иметь выпадающий список, содержащий все номера страниц, чтобы пользователь мог перейти к определенной странице.

// adding the back next link if multi-pages 
        if ($nbrPage > 1) 
        {
            if( $pNum == (int)($qNum / $nbrQuestionPage) || $qNum == $totalNbrQuestions ) 
            {

                if ($pNum == 1) 
                {
                    echo '<span class="jquarks_qprog"><a id="jquarksPage_' . $pNum . 'next" href="#">' . JText::_('NEXT') . '</a>'
                         . '<p>' . JText::_("PAGE") . ' ' . $pNum . ' / ' . $nbrPage .'</p>' .'</span></div>' ; 
                } 
                elseif ( $pNum == $nbrPage ) 
                {
                    echo '<span class="jquarks_qprog"><a id="jquarksPage_' . $pNum . 'back" href="#">' . JText::_('BACK') . '</a>'
                         . '<p>' . JText::_("PAGE") . ' ' . $pNum . ' / ' . $nbrPage .'</p>' .'</span></div>' ; 
                } 
                else 
                {
                    echo '<span class="jquarks_qprog"><a id="jquarksPage_' . $pNum . 'back" href="#">' . JText::_('BACK') . '</a>
                         |
                         <a id="jquarksPage_' . $pNum . 'next" href="#">' . JText::_('NEXT') . '</a>' 
                        . '<p>' . JText::_("PAGE") . ' ' . $pNum . ' / ' . $nbrPage .'</p>'   
                        . '</span></div>' ;
                }
                $pNum ++ ;
            } 
        } 
         $qNum++ ;
       } 
       if ($nbrPage == 1 ) :
            echo "</div>" ;
       endif ;
       ?>

</div>
<div style="clear: both;"></div>
<div>
    <p>
    <?php if ($nbrPage > 1) : ?>
        <input type="submit" value="<?php echo JText::_('SUBMIT_ANSWERS_CHECK_PAGES') ; ?>" id="send" name="send" />
    <?php else : ?>
    <input type="submit" value="<?php echo JText::_('SUBMIT_ANSWERS') ; ?>" id="send" name="send" />
    <?php endif ; ?>
    </p>    
    <p>
        <a href="http://www.jquarks.org" target="_blank">Powered by JQuarks</a>
    </p>
</div>

<?php 
    $attribs = array('type' => 'text/css');
    $document->addHeadLink(JRoute::_("components/com_jquarks/assets/stylesheets/SyntaxHighlighter.css"), "stylesheet", "rel", $attribs) ; 
?>

1 Ответ

1 голос
/ 25 августа 2011

Вот пример javascript в раскрывающемся списке html:

<select onchange="window.location = this.value">
    <option value="#">Select a page</option>
    <option value="/foo.html">Foo Bar</option>
    <option value="/foo2.html">Foo Bar2</option>
    <option value="/foo3.html">Foo Bar3</option>
    <option value="/foo4.html">Foo Bar4</option>
</select>

Я не проверял это во всех браузерах, но он работает в chrome.Обычно я использую jQuery, поэтому будет:

<select onchange="window.location = $(this).val()">

Я оставлю преобразование этого в PHP в качестве домашнего задания;) Cheers

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...