javascript - 带有图像的水平下拉选择

标签 javascript html css angularjs

我有一个经典的选择下拉菜单,数据绑定(bind) Angular 。

<select class="form-control" ng-model="category">
   <option value="work">Work</option>
   <option value="home">Home</option>
   <option value="practical">Practical</option>
   <option value="no">No category</option>
</select>

我希望这些下拉选项是水平图像,而不是垂直文本。不是这个:

选择按钮

  • 工作
  • 实用

但是这个:

选择按钮

工作形象-居家形象-实用形象

我一直在玩 display: inline-blocks, floats (yikes) 甚至考虑考虑 this 的单选按钮所以问题。我正在尝试学习 Angular,所以请不要使用 JQuery。谢谢

最佳答案

选择样式的方式有一些限制。您要么必须从众多样式化的选择插件中选择一个,要么像这样滚动您自己的插件

<div ng-app="app">
    <div ng-controller="ctrlr">
        <span ng-repeat="entry in categories">
            <img ng-click="setCategory(entry)" ng-src="{{entry.src}}">
        </span>
        <div>Selected = {{category}}</div>
    </div>
</div>

<script>
    angular.module('app', []);
    angular.module('app').controller('ctrlr', function ($scope) {
        $scope.categories = [
            {
                code: 'work',
                src: 'Work.png'
            },
            {
                code: 'home',
                src: 'Home.png'
            },
            {
                code: 'practical',
                src: 'Practical.png'
            },
            {
                code: 'no',
                src: 'No category.png'
            }
        ];

        $scope.setCategory = function (entry) {
            $scope.category = entry.code;
        }
    });
</script>

关于javascript - 带有图像的水平下拉选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31653790/

相关文章:

html - 带有 CSS 和内部滚动的“ chalice ”

javascript - 在不同的 div 和类中交换相同的文本

html - 600 像素以下左对齐

javascript - 使用 JavaScript 多次追加一个节点只会追加一次

javascript - 在 bootstrap datetimepicker 中仅显示 15 天

jquery - 为什么我的 Bootstrap 下拉菜单错位了?

css - 如何将图像放在包装 div 之外

jquery - 图像悬停动画

javascript - 历史记录 - 无法重新加载页面(单击同一链接)

javascript - 如何发送带有请求 promise 的表格?