搜索/过滤数组

时间:2015-09-23 19:34:32

标签: php arrays search filter typeahead

我有一个问题。在我的网站上(基于混凝土5)我有一个块来显示图标列表。我有这个数组。 (该阵列的图标比我显示的图标多得多,这只是一个例子。)

    <?php  $options = array(
    'icon-adjust' => 'Icon Adjust',
    'icon-adjustments' => 'Icon Adjustments',
    'icon-adn' => 'Icon Adn',
    'icon-alarmclock' => 'Icon Alarmclock',
    'icon-align-center' => 'Icon Align-center',
    'icon-align-justify' => 'Icon Align-justify',
    'icon-align-left' => 'Icon Align-left',
    'icon-align-right' => 'Icon Align-right',
    'icon-ambulance' => 'Icon Ambulance',
    'icon-anchor' => 'Icon Anchor',
    'icon-anchor2' => 'Icon Anchor2',
);
?>

我想修改我的搜索框,以便用户可以输入内容来过滤掉数组中的结果。 (例如:如果他们搜索锚点,他们会看到两个图标锚点字段。)

任何人都可以帮我解决这个问题吗?

以下是我的代码供将来参考:

    <script>
$('input[name=fromPages]').select2({
    placeholder: "<?=t('Search for a Page')?>",
    minimumInputLength: 1,
    width: '100%',
    multiple: true,
    ajax: {
        url: "<?=$view->action('load_pages')?>",
        dataType: 'json',
        quietMillis: 250,
        data: function (term, page) {
            return {
                q: term
            };
        },
        results: function (data, page) { // parse the results into the format expected by Select2.
            var results = [];
            $.each(data, function(i, concretePage) {
                results.push({'id': concretePage.id, 'text': concretePage.name});
            });
            return {
                results: results
            };
        },
        cache: true
    }
});
</script>

对于选择框:

<div class="form-group">
    <?php echo $form->label('fromPages', 'Search for an Icon')?>
    <div>
        <?php echo $form->hidden('fromPages'); ?>
    </div>
</div>

和图片:(顶部搜索框会过滤打开列表中的结果) http://i.imgur.com/Ksrb7iQ.png?1

1 个答案:

答案 0 :(得分:0)

查看typeahead.js库,你将无法用php实现这个目标

https://twitter.github.io/typeahead.js/