Есть ли «кошерный» способ отображения параметров в теге select в виде списка ссылок, а НЕ раскрывающийся список? - PullRequest
0 голосов
/ 23 января 2012

Моя проблема в том, что я создаю динамически сгенерированную форму, используя codeigniter. Мне нужно, чтобы мои динамические результаты были превращены в ссылки. Эти «ссылки» содержатся в форме и при щелчке должны передавать item_id. Однако отображаемая ссылка должна изображать item_name. У меня есть идентификатор и имя каждого продукта в foreach, собранные из запроса. Причина, по которой я так делаю, а не в качестве радио / выпадающего меню, заключается в том, что я пытаюсь сделать этот сенсорный экран дружественным Мне нужно, чтобы они перечислены в виде ссылок. Я пытаюсь держаться подальше от JavaScript на этом, если смогу. Просто интересно, кто-нибудь имел представление о том, что я мог бы сделать здесь. Как я и просил в своем заголовке, я ищу способ ввода данных, как если бы они были выбраны, но перечислены в виде ссылок. Я также попробовал их в качестве тегов отправки, но затем не могу отобразить имя и значение в качестве идентификатора.

EDIT: Я также должен добавить, что $ key - это идентификатор каждого продукта, а $ info - это имя.

foreach($products as $key => $info):
?>
    <div class="field_row clearfix">
<?php
   /* NEED THE FORM ELEMENTS HERE */
?>
</div>
<?php
endforeach;

1 Ответ

1 голос
/ 23 января 2012

Вы можете использовать jquery и js метаданные для достижения этой цели.

N.B. непроверенный код верхней части моей головы.

<?php
foreach ($products as $key => $info)
{
?>
    <div class="product-link {item_id: <?php echo $key; ?>}">
        <?php echo $info; ?>
    </div>
<?php
}
?>

<script type=text/javascript">
/*<![CDATA[*/
$(document).ready(function() {
    // listen event on drop down
    $(".product-link").click(function () {
        var item_id = $(this).metadata().item_id;
        // do what ever you want here, maybe a redirect
        window.location.href = "/products/items/"+item_id;
    });
});
/*]]>*/
</script>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...