html中radio值的获取、赋值、注册事件示例详解

1,radio分组

只要name一样,就是一组的,即一组中只能选择一个,如下:

复制代码
代码如下:

<span>group1:</span>
<input type="radio" id="radio1" checked="checked" name="group1" />radio1
<input type="radio" id="radio2" name="group1" />radio2
<input type="radio" id="radio3" name="group1" />radio3

<span>group2:</span>
<input type="radio" id="radio4" checked="checked" name="group2" />radio4
<input type="radio" id="radio5" name="group2" />radio5
<input type="radio" id="radio6" name="group2" />radio6

效果如下:
 

2,获取选中的radio节点

使用jquery可以很方便做到,先选择group,然后过滤出checked的,如下:


复制代码
代码如下:

var group1 = $("[name='group1']").filter(":checked");
console.log(group1.attr("id"));

3,选中一个radio节点

使用jquery设置checked属性:

复制代码
代码如下:

$("#radio2").attr("checked", "checked");

4,去选中一个radio节点

移除checked属性:

复制代码
代码如下:

$("#radio1").removeAttr("checked");

这样做的结果可能造成一组radio中没有一个处于选中状态。

5,注册选中去选中事件

还是使用jquery的on函数来注册change事件,如下:

复制代码
代码如下:

$("[name='group1']").on("change",
function (e) {
console.log($(e.target).val());
}
);

这样只要group1中任何一个有选中的,就会触发函数。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
如果您使用的是 Golang 和 Gin 框架来处理后端的逻辑,获取 HTML radio 选择的则需要在前端页面使用 JavaScript 将选传递给后端。这里提供一种示例代码: 前端 HTML 文件: ```html <form> <input type="radio" name="radio_name" value="value_1"> Value 1<br> <input type="radio" name="radio_name" value="value_2"> Value 2<br> <input type="radio" name="radio_name" value="value_3"> Value 3<br> <button type="button" onclick="submitForm()">Submit</button> </form> <script> function submitForm() { var radios = document.getElementsByName('radio_name'); var selected_value; for (var i = 0; i < radios.length; i++) { if (radios[i].checked) { selected_value = radios[i].value; break; } } fetch('/submit', { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ selected_value: selected_value }) }).then(response => { console.log(response); }); } </script> ``` 后端 Golang 代码: ```go package main import ( "fmt" "net/http" ) type RequestBody struct { SelectedValue string `json:"selected_value"` } func main() { router := http.NewServeMux() router.HandleFunc("/submit", func(w http.ResponseWriter, r *http.Request) { if r.Method != "POST" { http.Error(w, "Method not allowed", http.StatusMethodNotAllowed) return } var reqBody RequestBody if err := json.NewDecoder(r.Body).Decode(&reqBody); err != nil { http.Error(w, err.Error(), http.StatusBadRequest) return } selectedValue := reqBody.SelectedValue fmt.Fprintf(w, "Selected value: %s", selectedValue) }) http.ListenAndServe(":8080", router) } ``` 这里使用 fetch API 将选以 JSON 格式传递给后端的 `/submit` 接口,后端则使用 `json.NewDecoder()` 函数解析传递过来的 JSON 请求体,从而取得选
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值