H5 单选控件 radio入门

本文介绍了H5中单选控件radio的基本使用,通过示例展示了如何创建性别选择,并讲解了如何设置默认值,通过name属性和checked属性来实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

单选场景不少,h5自带提供的单选控件简约规范,使用起来还是挺方便的。

就以最基本的为例,性别选择:

<form class="sexClass">
<label class="single"><input type="radio" name="sex" value="male" />男</label>
<label class="single"><input type="radio" name="sex" value="female" />女</label>
<label class="single"><input type="radio" name="sex" value="secret" />保密</label>

</form>

form中的radio必须将name属性设置为相同,单选属性才会生效。

设置默认值,只需要按name拿到input集合,然后按排序对号入座把checked属性设置为true即可。

	var sexInput = document.getElementsByName("sex");
	if (userInfo.sex == "男") {
		sexInput[0].checked = true;
	}else if (userInfo.sex == "女") {
		sexInput[1].checked = true;


	}else{
		sexInput[2].checked = true;
	}

同理的,需要获取选择值的话,也可以通过拿到集合,遍历判断

 function getSex(){
    var radio = document.getElementsByName("sex");  
    for (i=0; i<radio.length; i++) {  
        if (radio[i].checked) {  
            return radio[i].value;
        }  
    } 
 }


取值还有其他方案,例如,给input设置onclick事件,在点击选中的时候就直接将js中的参数替换成最新值。

onclick="getSex(this.value)" 

this为当前对象,点击时自然是点击的input对象,点击的时候将值传入,在js中保存新值即可。




### 如何在 UniApp 中实现单选功能 #### 单选框组件介绍 为了实现在 UniApp 中的单选功能,可以利用 `uniapp-vue3` 提供的一个单选框组件。此款组件不仅具备丝滑的动画选中效果,还允许用户根据需求调整不同的主题样式[^1]。 #### 组件特性概述 这款单选框组件特别之处在于其良好的跨平台适应能力——它能够很好地运行于 Web、H5 页面以及微信小程序环境之中;对于其他类型的小程序也保持了一定程度上的兼容性,尽管官方并未进行全面测试,但是鼓励开发者们积极尝试并反馈使用情况[^2]。 #### 安装与引入方法 如果想要体验这个优秀的单选框组件,则可以通过访问 DCloud 插件市场的链接进行下载安装操作:[DCloud插件市场](https://ext.dcloud.net.cn/plugin?id=21740)。 #### 使用示例代码展示 下面给出一段简单的 JavaScript 代码片段来说明如何初始化并应用上述提到的单选框组件: ```javascript import { ref } from 'vue'; export default { setup() { const selectedValue = ref(''); function handleSelect(value){ console.log(`Selected value is ${value}`); selectedValue.value=value; } return{ selectedValue, handleSelect } }, } ``` 同时,在模板部分也需要相应地编写如下 HTML 结构以便正确渲染出单选项视图: ```html <template> <view class="radio-group"> <!-- 假设有三个选项 --> <label v-for="(item,index) in items" :key="index"> <input type="radio" name="group" @change="handleSelect(item.value)" :checked="selectedValue===item.value"/> {{ item.label }} </label> </view> </template> <script> // 这里省略了之前定义的数据逻辑... data(){ return { items:[ {"label":"Option A","value":'A'}, {"label":"Option B","value":'B'}, {"label":"Option C","value":'C'} ] }; }, methods:{ ... // 同样这里简化掉了重复的方法声明 } </script> ``` 通过以上步骤就可以成功搭建起基于 Vue 和 uni-app 的简易而实用的单选控件啦!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值