Golang实现HTML中复选框选中时显示/隐藏div
Golang实现HTML中复选框选中时显示/隐藏div 我向自己提出了以下问题:使用接口我们可以填充下拉菜单,但是我们能否完全用Go语言实现这段代码
<!DOCTYPE html>
<html>
<head><script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
</head>
<body>
<script type="text/javascript">
$(document).ready(function () {
$("#chk").click(function () {
if ($(this).is(":checked")) {
$("#dvS").show();
} else {
$("#dvPassport").hide();
}
});
});
</script>
<div class="checkbox">
<br>
<label style="padding-right:0px;"><input type="checkbox" name="cod" value="1" id="chk"> My shop
<b>Candy</b></label>
</div>
<select name="" id="dvS" style="display: none">
<option value="">caramel</option>
<option value="">lollipop</option>
<option value="">Chocolat</option>
</select>
感谢您对初学者的建议和帮助
更多关于Golang实现HTML中复选框选中时显示/隐藏div的实战教程也可以访问 https://www.itying.com/category-94-b0.html
或者你也可以使用 Angular 来实现(尽管这有些大材小用)。
更多关于Golang实现HTML中复选框选中时显示/隐藏div的实战系列教程也可以访问 https://www.itying.com/category-94-b0.html
感谢您的回答,抱歉我的英语表达不够准确,但主要意思已经表达清楚了
我确信问题是能否摆脱jquery/javascript,只用go来显示和隐藏div元素。
我想不出简单的方法来实现这一点。
问题是,我们能否在不使用jQuery或JavaScript的情况下实现if else条件判断?
// 示例代码
if condition {
// 条件成立时执行
} else {
// 条件不成立时执行
}
在Go语言中,你可以使用html/template包来生成包含动态行为的HTML页面,但需要注意的是,Go本身是服务器端语言,无法直接处理客户端的交互(如复选框的点击事件)。不过,你可以通过Go生成包含JavaScript代码的HTML,从而实现复选框选中时显示或隐藏div的功能。以下是一个完整的示例,展示如何使用Go语言编写一个HTTP服务器,生成包含所需交互逻辑的HTML页面。
首先,创建一个Go程序,设置HTTP路由,并使用模板来渲染HTML内容。在HTML中嵌入JavaScript代码来处理复选框的事件。
示例代码:
- 创建Go文件(例如
main.go):
package main
import (
"html/template"
"net/http"
)
func main() {
http.HandleFunc("/", homeHandler)
http.ListenAndServe(":8080", nil)
}
func homeHandler(w http.ResponseWriter, r *http.Request) {
tmpl := template.Must(template.New("index").Parse(htmlTemplate))
tmpl.Execute(w, nil)
}
const htmlTemplate = `
<!DOCTYPE html>
<html>
<head>
<title>Checkbox Show/Hide Example</title>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
</head>
<body>
<script type="text/javascript">
$(document).ready(function () {
$("#chk").click(function () {
if ($(this).is(":checked")) {
$("#dvS").show();
} else {
$("#dvS").hide();
}
});
});
</script>
<div class="checkbox">
<br>
<label style="padding-right:0px;">
<input type="checkbox" name="cod" value="1" id="chk"> My shop
<b>Candy</b>
</label>
</div>
<select name="" id="dvS" style="display: none">
<option value="">caramel</option>
<option value="">lollipop</option>
<option value="">Chocolat</option>
</select>
</body>
</html>
`
- 运行程序:
在终端中执行以下命令启动服务器:
go run main.go
- 访问页面:
打开浏览器,访问 http://localhost:8080。当选中复选框时,下拉菜单会显示;取消选中时,下拉菜单会隐藏。
解释:
- 这个Go程序启动了一个HTTP服务器,监听8080端口。
- 当访问根路径("/")时,服务器使用
html/template包渲染一个HTML页面。 - HTML页面中嵌入了JavaScript代码(使用jQuery),处理复选框的点击事件,并根据选中状态显示或隐藏ID为
dvS的下拉菜单。 - 注意:原始代码中有一个错误,在隐藏时使用了
#dvPassport,但实际元素ID是#dvS。我已修正为#dvS以保持一致。
通过这种方式,你可以用Go语言生成包含动态客户端行为的HTML页面。如果需要更复杂的交互,可以考虑结合Go后端API和前端JavaScript框架(如React或Vue.js)。

