angular.js - angularjs 如何用一組按鈕完成單選
問題描述
辛苦各位了,請問如何用一組按鈕來做單選的問題,萬分感謝!
如圖,需要做到2點:1、頁面加載后,根據傳回的值 domain:'8' ,設置默認勾選的按鈕和按鈕里的圖標class;2、點擊一個按鈕,清除其他按鈕樣式,并給點擊的按鈕添加 class active
效果圖如下(現在是直接用添加class形成的)
{ 1: '健康', 2: '法律', 3: '心理', 4: '醫美', 5: '教育', 6: '職場', 7: '汽修', 8: '其他'}HTML結構如下(當前是我寫的,但只能多選)
<ul class='tag-list button-select-group'> <li ng-repeat='item in domainList'> <button type='button' ng- ng-click='checkDomain($index+1)' ng-model='domain' value='{{$index+1}}'>{{item}}<span ng-class='{’fa fa-check-square’:$index + 1 == defaultDomain}'></span> </button></li></ul>JS如下
$scope.defaultDomain = data.domain;//服務器返回的domain字段數據$scope.checkDomain = function (id) {$scope.defaultDomain=id; }
問題解答
回答1:定義一個變量賦當前value給他,然后在class做判斷,如果值=index就加上樣式
回答2:直接用radio形式來做,默認樣式隱藏就好了,然后對對應的label在樣式上做文章
相關文章:
1. javascript - 在靜態頁面上用load 引入的頁面文件問題?2. android - RxJavar用什么操作符可以使數據每隔一段時間取出一個3. node.js - Linux(CentOs)下hexo生成文章被killed4. css - 如何使用 vue transition 實現 ios 按鈕一樣的平滑切換效果5. Android的webView如何實現網頁 錄音功能?6. javascript - webpack打包后的bundlejs文件代碼不知道什么意思.7. javascript - vue組件通過eventBus通信時,報錯a.$on is not a function8. css - 關于ul的布局9. html - 哪些情況下float會失效?10. java - oracle對漢字字段按照拼音排序的函數和sql語句是什么?
