c# 复选框如何获取内容,我在复选框中有多个勾选项,怎么去循环读取它的内容呢?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c# 复选框如何获取内容,我在复选框中有多个勾选项,怎么去循环读取它的内容呢?相关的知识,希望对你有一定的参考价值。

参考技术A 复选框用的什么控件?CheckBox还是CheckedListBox?
CheckBox就通过对象的id取它的IsCheck属性
CheckedListBox直接取SelectedItems追问

谢谢您的回答,CheckedListBox这个能不能写的详细一点啊,对这个不是很熟悉,加点代码最好了,我是想用一种下拉框式的复选框,这种有么,它的获取方法是怎么样的啊? 谢谢

追答

CheckedListBox不是你要的下拉框式复选框,只是一个复选框组
想实现下拉框式复选可以用一个无边框的窗体,构造函数传复选项及选中项,根据复选项绘制窗体内容
通过主页面的下拉框触发无边框窗体出现,出现位置有下拉框位置决定, 钩选后回传选中项,并关闭窗体

追问

您好,我也是刚学习这个的,能不能给我加点代码,或者如果有的话,给我发段小得程序(有这个功能的),谢谢! 我的邮箱是:dubintyut@163.com十分感谢

本回答被提问者采纳
参考技术B for (int i = 0; i < checkboxlist.Items.Count; i++)

if (checkboxlist.Items[i].Selected)

//选中

追问

选中中的东西该怎么写呢?

参考技术C 楼上解答皆是

姜戈。如何从多个复选框中获取值

【中文标题】姜戈。如何从多个复选框中获取值【英文标题】:Django. How to get value from multiple checkboxes 【发布时间】:2022-01-22 09:23:28 【问题描述】:

嘿,我看到了很多关于这个的问题,但我不知道为什么它不适合我。我的home.html 文件中有这段代码:

<form action="/result/" method="post">
<div class="form-locat-att">
    % csrf_token %
    Location: <input type="text" name="location_input" required/>
    <p></p><br>
    <button class="btn btn-block btn-round", name="search_button">Search</button>
    <p></p>

    <h5>Zabytki</h5> <p></p>
    <input type="checkbox" id="museum" name="att[]" value=" Museum OR">
    <label for="muzeum"> Museum</label> &nbsp;

    <input type="checkbox" id="statue" name="att[]" value=" Statue OR">
    <label for="pomnik"> Statue</label> &nbsp;

    <input type="checkbox" id="castle" name="att[]" value=" Castle OR">
    <label for="zamek"> Castle</label> &nbsp;

    <input type="checkbox" id="palace" name="att[]" value=" Palace OR">
    <label for="palac"> Palace</label> <p></p>

</div>
</form>

这是我的views.py

def result(request):
    if request.method == 'POST' and 'search_button' in request.POST:

        attrac = request.POST.getlist('att[]')
        locat = request.POST.get('location_input')

        print(attrac)

        # (here i have some irrelevant code where i render my context)
        return render(request, 'przewodnik_app/result.html', context)
    return render(request, 'przewodnik_app/result.html')

我正在尝试打印attrac,它应该为我提供我选中的复选框中的值。例如,当我使用带有 id 的 .get 方法时 request.POST.get('博物馆') 它返回正确的值。当我使用name 时,列表始终为空。

【问题讨论】:

【参考方案1】:

您的代码对我来说似乎工作正常,打印出来:

# print(request.POST) prints out
<QueryDict: 'csrfmiddlewaretoken': ['ty1QJh1jQpwt1Bgd77lLJqyudgSLt5wGCx4zSfh9Iwak02A4J8JiliMHPZa034v6'], 'location_input': ['Holland'], 'search_button': [''], 'att[]': [' Museum OR', ' Castle OR', ' Palace OR']>
        
# request.POST.getlist('att[]') prints out
[' Museum OR', ' Castle OR', ' Palace OR']

你也不需要if request.method == 'POST' and 'search_button' in request.POST:

默认情况下,没有类型的按钮是提交按钮,在&lt;form&gt; 标签内提交带有name 属性的所有内容(但你应该给它一个类型),所以不要

&lt;button class="btn btn-block btn-round", name="search_button"&gt;Search&lt;/button&gt;

你应该这样做

&lt;button class="btn btn-block btn-round", type='submit'&gt;Search&lt;/button&gt;

然后只是if request.method == 'POST':

【讨论】:

以上是关于c# 复选框如何获取内容,我在复选框中有多个勾选项,怎么去循环读取它的内容呢?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 C# 检查 datagridview 中的多个复选框

mfc如何将复选框勾选后,把里面内容实时传到列表框中?

c#如何获取comboBox当前选中的值

php获取checkbox复选框的多个选项的内容

EXCEL表格中怎样设置勾选项?

python+selenium多个复选框勾选怎么写