微信小程序實現單選按鈕
更新時間:2022年07月18日 15:10:19 作者:onlooker_thinker
這篇文章主要為大家詳細介紹了微信小程序實現單選按鈕,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
本文實例為大家分享了微信小程序實現單選按鈕的具體代碼,供大家參考,具體內容如下
邏輯
- 單選框的邏輯比較簡單,把所有的元素遍歷出來,等到點擊單選按鈕的時候,當value值與遍歷變量值一致的時候就 把checked 設置為true,其他的時候把checked設置為 false 只需要一次循環(huán)。
- 復選框的邏輯,也不復雜,當只有一個被選中的選項的時候,當點擊已經選擇的選項的時候,首選外層循環(huán)設置為false,這個時候 e.detail.value為零,所以無法進入內層循環(huán),所以被取消。當選中未選擇的選項的時候,則從第一個選項開始遍歷,如果value值與外層相同則設置為TRUE。然后跳出內層,繼續(xù)遍歷,當有兩個選中的選項的時候,點擊已經選擇的按鈕,values值會減少l,所以最后一次的外層循環(huán)無法進入內層,所有取消該選項。
舉例, 兩選一 , 默認選中第一個;效果圖如下:
.wxml文件 :
<view class='button_container'> ? <block wx:for="{{buttons}}" wx:key="buttons"> ? ? <button class='{{item.checked?"checked_button":"normal_button"}}' data-id='{{item.id}}' bindtap='radioButtonTap'>{{item.name}}</button> ? </block> </view>
.js文件 :
Page({ ? data:{ ? ? buttons: [{ id: 1, name: '失物招領' }, { id: 2, name: '尋物啟事' }] ? }, ? onLoad: function() {//默認選了第一個 ? ? this.data.buttons[0].checked = true; ? ? this.setData({ ? ? ? buttons: this.data.buttons, ? ? }) ? }, ? ? ? radioButtonTap: function (e) { ? console.log(e) ? let id = e.currentTarget.dataset.id ? console.log(id) ? for (let i = 0; i < this.data.buttons.length; i++) { ? ? if (this.data.buttons[i].id == id) { ? ? ? //當前點擊的位置為true即選中 ? ? ? this.data.buttons[i].checked = true; ? ? ? ? } ? ? else { ? ? ? //其他的位置為false ? ? this.data.buttons[i].checked = false; ? ? } ? } ? this.setData({ ? buttons: this.data.buttons ? }) ? } })
.wxss文件 :
.button_container{ ? display: flex; ? flex-direction: row; ? justify-content: space-around ? } ?? ? /* 按鈕未選中 */ ?.normal_button{ ? background: white; ? } ?? ? /* 按鈕選中 */ ? .checked_button{ ? background: #36ab60; ? color: white ? }```
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
javascript 文本框水印/占位符(watermark/placeholder)實現方法
html5為表單元素(type為text/password/search/url/telephone/email)新增了一個placeholder屬性,為輸入框提供一種提示2012-01-01JavaScript constructor和instanceof,JSOO中的一對歡喜冤家
現在流行面向對象,JavaScript當然要迎頭趕上. 有說法JavaScript就是徹頭徹尾的OO語言,但我覺得JavaScript實現面向對象的程序還是有諸多不便的.2009-05-05javascript利用控件對windows的操作實現原理與應用
假如要發(fā)送漢字的聊天框的內容的話,我們也要從windows消息機制下手,先找到聊天消息的句柄(可以利用findwindow函數或者用spy工具哈),然后在找到上面的聊天框的句柄,接著我們就可以想這個句柄發(fā)送WM_SETTEXT的消息了2012-12-12微信小程序實現點擊按鈕移動view標簽的位置功能示例【附demo源碼下載】
這篇文章主要介紹了微信小程序實現點擊按鈕移動view標簽的位置功能,涉及微信小程序事件綁定與this.setData動態(tài)修改data數值進而改變view標簽樣式的相關操作技巧,需要的朋友可以參考下2017-12-12