delphi中如何实现checkbox的多选

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了delphi中如何实现checkbox的多选相关的知识,希望对你有一定的参考价值。

参考技术A CheckBox 是复选框组件,实现多选(即多个复选框),通常可采取如下办法:
1、使用 CheckListBox 组件
2、建立一个 GroupBox,然后根据需要放入多个复选框
3、使用第三方组件,如 RzCheckGroup
参考技术B 遍历窗体上的控件,是Tcheckbox的就勾上。 procedure TForm1Button1Click(Sender: TObject); var i: Integer; begin for i := 0 to SelfControlCount - 1 do if SelfControls[i] is TCheckBox then TCheckBox(SelfControls[i])Checked := Tdelphi中如何实现checkbox的多选本回答被提问者采纳

下拉框效果的多选框

html:

 1 <div id="selectBoard">
 2   <ul class="ul_sel" id="ul_input">
 3     <li><input type="checkbox" name="dep" id="" value="安监局" /> 安监局</li>
 4     <li><input type="checkbox" name="dep" id="" value="卫计局" /> 卫计局</li>
 5     <li><input type="checkbox" name="dep" id="" value="烟草专卖局" /> 烟草专卖局</li>
 6     <li><input type="checkbox" name="dep" id="" value="档案局" /> 档案局</li>
 7     <li><input type="checkbox" name="dep" id="" value="地税局" /> 地税局</li>
 8   </ul>
 9   <input type="text" id="span_dep" style="font-size:1.1em;border:none;color:white;width:97%;" onfocus="this.blur()" placeholder="请选择相关部门" />
10 </div>

css:

#selectBoard{
    width: 50%;
    height: 30px;
    border: 1px solid #7cf8ff;
    border-radius: 5px;
    position: relative;
    margin: 30px 50px;
    z-index:1000;
}

#selectBoard ul{
    width: 100%;
    background: white;
    position: absolute;
    top: 10px;
    left: -25px;
    border: 1px solid #7cf8ff;
    border-radius: 5px;
    display: none;
}

#selectBoard ul li{
    list-style: none;
    color:black;
}

#selectBoard ul li:hover{
    background: dodgerblue;
}

.ul_sel {
    height:160px;
    overflow-y: auto;
}
   
.ul_sel::-webkit-scrollbar {
    width: 6px;
    height: 1px;
}

.ul_sel::-webkit-scrollbar-thumb {
    -webkit-box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.2);
    background: #7cf8ff;
}

.ul_sel::-webkit-scrollbar-track {
    -webkit-box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.2);
    background: #09abeb;
}

js:

<script type="text/javascript">
 
var arr = []; //仿select的点击事件 $("#span_dep").click(function(event){ var ev = event || window.event; //阻止默认事件及封装 if (ev.stopPropagation) { ev.stopPropagation(); }else{ ev.cancelable = true; } $("#ul_input").css("display","block"); }); //监听checkbox的value值 改变则执行下列操作 $("#ul_input input").change(function(){ if ($(this).prop("checked")) { if($("#span_dep").val()==""){ arr.push($(this).val()); }else{ arr.push($(this).val()); } }else{ arr.splice(arr.indexOf($(this).val()), 1); } $("#span_dep").val(arr); }); $("#ul_input input").click(function(event){ var ev = event || window.event; //阻止默认事件及封装 if (ev.stopPropagation) { ev.stopPropagation(); }else{ ev.cancelable = true; } $("#ul_input").css("display","block"); }); $(document).click(function(){ $("#ul_input").css("display","none"); }); </script>

 


以上是关于delphi中如何实现checkbox的多选的主要内容,如果未能解决你的问题,请参考以下文章

实现checkbox的多选

0410_gdgrid_checkbox_自己强加的多选,选中,批量删除

Delphi 6中绑定到数据库的多选列表框

checkbox多选按钮如何取值?

改变默认的多选框 checkbox 样式~

delphi cxgrid里面的虚拟字段的checkbox可以多选并抓取选定的数据字段