精华内容
下载资源
问答
  • 设置两个有序序列,分别存储对应的复选框和行内容。 我的行内容是用的label标签。 因为他们的位置都是一一对应的,所以当我这个位置的复选框选中状态的话,这时显示对应位置的标签内容就好了。 isCheckec()用来...

    先看效果图,选中了几行,然后将选中的内容展示出来。
    在这里插入图片描述
    在这里插入图片描述
    我设置两个有序序列,分别存储对应的复选框和行内容。
    我的行内容是用的 label 标签。

    	# 存储右边label组件的有序列表
    	def get_L_btn(self):
            L_btn=[self.label,self.label_2,self.label_8,self.label_9,self.label_10,self.label_11,self.label_12,self.label_13,self.label_14,self.label_15]
            return L_btn
            
        # 存储左边复选框的有序列表
        def get_L_chk(self):
            L_chk=[self.checkBox,self.checkBox_2,self.checkBox_8,self.checkBox_9,self.checkBox_10,self.checkBox_11,self.checkBox_12,self.checkBox_13,self.checkBox_14,self.checkBox_15]
            return L_chk
    

    因为他们的位置都是一一对应的,所以当我这个位置的复选框是选中状态的话,这时显示对应位置的标签内容就好了。

    isCheckec() 用来判断复选框是否是选中状态。
    text() 用来显示 label 标签的内容。

    	# 展示被选中的行内容
    	def get_checkBox(self):
            k=0
            L_chk=self.get_L_chk()
            L_btn=self.get_L_btn()
            for i in L_chk:
                if(i.isChecked()): # isChecked()判断复选框是否被选中
                    print(L_btn[k].text())
                k=k+1
    

    全选或不全选的实现是遍历一遍所有复选框,设置选中或不选中。

    setChecked(False) 设置复选框不选中。
    setChecked(True) 设置复选框选中。

        # 清空复选框
        def clear_checkBox(self):
            L_chk=self.get_L_chk()
            for i in L_chk:
                i.setChecked(False)
    
        # 全选复选框
        def all_checkBox(self):
            L_chk=self.get_L_chk()
            for i in L_chk:
                i.setChecked(True)
    

    喜欢的点个赞❤吧!

    展开全文
  • Ant design vue 表格设置选中行进行设置复选框选中

    万次阅读 热门讨论 2019-05-13 15:36:12
    进行设置复选框选中 常规情况下, 我们要想选中一条数据, 需要点击该行行首的复选框, 无奈复选框稍小, 因此想要实现如题功能, 用的是这款ui框架, 主要看它的样式都比较好看, 和elementui很相像, 不知道谁模仿谁, ...

    常规情况下, 我们要想选中一条数据, 需要点击该行行首的复选框, 无奈复选框稍小, 因此想要实现如题功能, 用的是这款ui框架, 主要看它的样式都比较好看, 和elementui很相像, 不知道谁模仿谁, 感觉这个做的好一点而且提供了一套中后台权限管理系统模板.
    但是有些功能 比如这个点击行进行选中, 没有很方便的在官网文档介绍中找到设置方法, 但是找到后感觉还是挺简单的( 毕竟是做后台的… 刚入工程化前端), 虽然elementui是很到位, 但是还是想要用这款ui, 实在是漂亮精致!在这里插入图片描述

    这是效果
    在这里插入图片描述

    实现方法:
    table标签添加 customRow 属性( 通过官网介绍得知 )

    官网介绍
    customRow 用法 #
    适用于 customRow customHeaderRow customCell customHeaderCell。
    遵循Vue jsx语法。
    
    <Table
      customRow={(record) => {
        return {
          props: {
            xxx... //属性
          },
          on: { // 事件
            click: () => {},       // 点击行
            mouseenter: () => {},  // 鼠标移入行
            xxxx...
          },
    
        };
      )}
      customHeaderRow={(column) => {
        return {
          on: {
            click: () => {},        // 点击表头行
          }
        };
      )}
    />
    

    这是完整的官网( 官网介绍 )的一个带多选框的表格演示代码进行改动后的代码

    data() {
        return {
          data,
          columns,
          rowSelection :{
            selectedRowKeys: []   // 添加这个属性, 也就是他管理着选中行
          },
        }
    

    然后table标签添加 :customRow属性并指向以下方法

    setRow (record) {
          return {
            on: {
              click: () => {
                console.log(record.key)
                let flag = false
                let keys = []
                keys = this.rowSelection.selectedRowKeys
                if(keys.indexOf(record.key) >= 0) {
                    flag=true
                }
                if(flag){
                   keys.splice(keys.findIndex(item => item === record.key), 1)
                } else {
                    keys.push(record.key)
                }       
                console.log(JSON.stringify(this.rowSelection.selectedRowKeys))
              }
            }
          }
        }
    

    这是官网提供的后台项目的写法 和上面没关系
    git的官方纯净项目 git地址
    首先也是在table标签定义 customRow 然后在customRow的点击事件中进行业务逻辑操作, 增删选中行的数组this.selectedRowKeys

    	let flag = false
        let keys = []
        keys = this.selectedRowKeys
        if(keys.indexOf(record.id) >= 0) {
            flag=true
        }
        if(flag){
            keys.splice(keys.findIndex(item => item === record.id), 1)
            this.selectedRows.splice(this.selectedRows.findIndex(item => item === record.id), 1)
        } else {
             keys.push(record.id)
             this.selectedRows.push(record)
         }
    
    
    

    但是重要一点就是 只更新数组, 都不会设置选中复选框, 需要手动点击一次复选框之后就可以点行选框, 所以要继续设置

    this.options = {
     rowSelection: {
        selectedRowKeys: this.selectedRowKeys,
        onChange: this.onSelectChange
      }
    }
    

    这里设置完, 可以实现点行选框, 但是点框选框就失灵了( 不是页面加载完毕的第一次点 )
    这时只需要在监听选择事件里加入这些即可

    this.options = {
       // alert: { clear: () => { this.selectedRowKeys = [] } },
       rowSelection: {
           selectedRowKeys: selectedRowKeys,
           onChange: this.onSelectChange
       }
     }
    
    <template>
      <a-card :bordered="false">
        <div class="table-page-search-wrapper">
          <a-form layout="inline">
            <a-row :gutter="48">
              <a-col :md="8" :sm="24">
                <a-form-item label="规则编号">
                  <a-input v-model="queryParam.id" placeholder=""/>
                </a-form-item>
              </a-col>
              <a-col :md="8" :sm="24">
                <a-form-item label="使用状态">
                  <a-select v-model="queryParam.status" placeholder="请选择" default-value="0">
                    <a-select-option value="0">全部</a-select-option>
                    <a-select-option value="1">关闭</a-select-option>
                    <a-select-option value="2">运行中</a-select-option>
                  </a-select>
                </a-form-item>
              </a-col>
              <template v-if="advanced">
                <a-col :md="8" :sm="24">
                  <a-form-item label="调用次数">
                    <a-input-number v-model="queryParam.callNo" style="width: 100%"/>
                  </a-form-item>
                </a-col>
                <a-col :md="8" :sm="24">
                  <a-form-item label="更新日期">
                    <a-date-picker v-model="queryParam.date" style="width: 100%" placeholder="请输入更新日期"/>
                  </a-form-item>
                </a-col>
                <a-col :md="8" :sm="24">
                  <a-form-item label="使用状态">
                    <a-select v-model="queryParam.useStatus" placeholder="请选择" default-value="0">
                      <a-select-option value="0">全部</a-select-option>
                      <a-select-option value="1">关闭</a-select-option>
                      <a-select-option value="2">运行中</a-select-option>
                    </a-select>
                  </a-form-item>
                </a-col>
                <a-col :md="8" :sm="24">
                  <a-form-item label="使用状态">
                    <a-select placeholder="请选择" default-value="0">
                      <a-select-option value="0">全部</a-select-option>
                      <a-select-option value="1">关闭</a-select-option>
                      <a-select-option value="2">运行中</a-select-option>
                    </a-select>
                  </a-form-item>
                </a-col>
              </template>
              <a-col :md="!advanced && 8 || 24" :sm="24">
                <span class="table-page-search-submitButtons" :style="advanced && { float: 'right', overflow: 'hidden' } || {} ">
                  <a-button type="primary" @click="$refs.table.refresh(true)">查询</a-button>
                  <a-button style="margin-left: 8px" @click="() => queryParam = {}">重置</a-button>
                  <a @click="toggleAdvanced" style="margin-left: 8px">
                    {{ advanced ? '收起' : '展开' }}
                    <a-icon :type="advanced ? 'up' : 'down'"/>
                  </a>
                </span>
              </a-col>
            </a-row>
          </a-form>
        </div>
    
        <div class="table-operator">
          <a-button type="primary" icon="plus" @click="$refs.createModal.add()">新建</a-button>
          <a-button type="dashed" @click="tableOption">{{ optionAlertShow && '关闭' || '开启' }} alert</a-button>
          <a-dropdown v-action:edit v-if="selectedRowKeys.length > 0">
            <a-menu slot="overlay">
              <a-menu-item key="1"><a-icon type="delete" />删除</a-menu-item>
              <!-- lock | unlock -->
              <a-menu-item key="2"><a-icon type="lock" />锁定</a-menu-item>
            </a-menu>
            <a-button style="margin-left: 8px">
              批量操作 <a-icon type="down" />
            </a-button>
          </a-dropdown>
        </div>
    
        <s-table
          ref="table"
          size="default"
          rowKey="key"
          :columns="columns"
          :data="loadData"
          :alert="options.alert"
          :rowSelection="options.rowSelection"
          :customRow="setRow"
        >
          <span slot="serial" slot-scope="text, record, index">
            {{ index + 1 }}
          </span>
          <span slot="status" slot-scope="text">
            <a-badge :status="text | statusTypeFilter" :text="text | statusFilter" />
          </span>
    
          <span slot="action" slot-scope="text, record">
            <template>
              <a @click="handleEdit(record)">配置</a>
              <a-divider type="vertical" />
              <a @click="handleSub(record)">订阅报警</a>
            </template>
          </span>
        </s-table>
        <create-form ref="createModal" @ok="handleOk" />
        <step-by-step-modal ref="modal" @ok="handleOk"/>
      </a-card>
    </template>
    
    <script type="text/ecmascript-6">
    import moment from 'moment'
    import { STable } from '@/components'
    import StepByStepModal from './modules/StepByStepModal'
    import CreateForm from './modules/CreateForm'
    import { getRoleList, getServiceList } from '@/api/manage'
    
    const statusMap = {
      0: {
        status: 'default',
        text: '关闭'
      },
      1: {
        status: 'processing',
        text: '运行中'
      },
      2: {
        status: 'success',
        text: '已上线'
      },
      3: {
        status: 'error',
        text: '异常'
      }
    }
    
    export default {
      name: 'TableList',
      components: {
        STable,
        CreateForm,
        StepByStepModal
      },
      data () {
        return {
          mdl: {},
          // 高级搜索 展开/关闭
          advanced: false,
          // 查询参数
          queryParam: {},
          // 表头
          columns: [
            {
              title: '#',
              scopedSlots: { customRender: 'serial' }
            },
            {
              title: '规则编号',
              dataIndex: 'no'
            },
            {
              title: '描述',
              dataIndex: 'description'
            },
            {
              title: '服务调用次数',
              dataIndex: 'callNo',
              sorter: true,
              needTotal: true,
              customRender: (text) => text + ' 次'
            },
            {
              title: '状态',
              dataIndex: 'status',
              scopedSlots: { customRender: 'status' }
            },
            {
              title: '更新时间',
              dataIndex: 'updatedAt',
              sorter: true
            },
            {
              title: '操作',
              dataIndex: 'action',
              width: '150px',
              scopedSlots: { customRender: 'action' }
            }
          ],
          // 加载数据方法 必须为 Promise 对象
          loadData: parameter => {
            console.log('loadData.parameter', parameter)
            return getServiceList(Object.assign(parameter, this.queryParam))
              .then(res => {
                return res.result
              })
          },
          selectedRowKeys: [],
          selectedRows: [],
    
          // custom table alert & rowSelection
          options: {
            alert: { show: true, clear: () => { this.selectedRowKeys = [] } },
            rowSelection: {
              selectedRowKeys: this.selectedRowKeys,
              onChange: this.onSelectChange
            }
          },
          optionAlertShow: false
        }
      },
      filters: {
        statusFilter (type) {
          return statusMap[type].text
        },
        statusTypeFilter (type) {
          return statusMap[type].status
        }
      },
      created () {
        this.tableOption()
        getRoleList({ t: new Date() })
      },
      methods: {
        tableOption () {
          if (!this.optionAlertShow) {
            this.options = {
              alert: { show: true, clear: () => { this.selectedRowKeys = [] } },
              rowSelection: {
                selectedRowKeys: this.selectedRowKeys,
                onChange: this.onSelectChange
              }
            }
            this.optionAlertShow = true
          } else {
            this.options = {
              alert: false,
              rowSelection: null
            }
            this.optionAlertShow = false
          }
        },
    
        handleEdit (record) {
          console.log(record)
          this.$refs.modal.edit(record)
        },
        handleSub (record) {
          if (record.status !== 0) {
            this.$message.info(`${record.no} 订阅成功`)
          } else {
            this.$message.error(`${record.no} 订阅失败,规则已关闭`)
          }
        },
        handleOk () {
          this.$refs.table.refresh()
        },
        onSelectChange (selectedRowKeys, selectedRows) {
          this.selectedRowKeys = selectedRowKeys
          this.selectedRows = selectedRows
          this.options = {
          // alert: { clear: () => { this.selectedRowKeys = [] } },
          rowSelection: {
              selectedRowKeys: selectedRowKeys,
              onChange: this.onSelectChange
            }
          }
          console.log('onselect之后', JSON.stringify(this.selectedRowKeys))
        },
        toggleAdvanced () {
          this.advanced = !this.advanced
        },
        resetSearchForm () {
          this.queryParam = {
            date: moment(new Date())
          }
        },
        setRow (record) {
          return {
            on: {
              click: () => {
                let flag = false
                let keys = []
                keys = this.selectedRowKeys
                if(keys.indexOf(record.id) >= 0) {
                    flag=true
                }
                if(flag){
                   keys.splice(keys.findIndex(item => item === record.id), 1)
                   this.selectedRows.splice(this.selectedRows.findIndex(item => item === record.id), 1)
                } else {
                    keys.push(record.id)
                    this.selectedRows.push(record)
                }
                this.options = {
               // alert: { clear: () => { this.selectedRowKeys = [] } },
                rowSelection: {
                    selectedRowKeys: this.selectedRowKeys,
                    onChange: this.onSelectChange
                  }
                }
                console.log(flag)
                console.log(JSON.stringify(this.options.rowSelection.selectedRowKeys))
              }
            }
          }
        }
      }
    }
    </script>
    
    展开全文
  • 设置复选框选中及其使用 开发工具与关键技术:VS 、MVC 撰写时间:2019/7/26 有一些需要就在你触发某个按钮的时候,单选框或者复选框就是一个选中的状态,并且要记录这个状态的时候;页面的复选框,单选框都是禁用...

    设置复选框选中及其使用

    开发工具与关键技术:VS  、MVC
    撰写时间:2019/7/26
    

    有一些需要就在你触发某个按钮的时候,单选框或者复选框就是一个选中的状态,并且要记录这个状态的时候;页面的复选框,单选框都是禁用状态,不允许操作的,这个时候你要达到这个效果的时候你会怎么做这个功能呢?当你遇到以下的需求的时候,你想着怎么去解决它呢?打开这个单据的时候,下面的复选框的禁用的状态,审核按钮也是禁用的状态;只有在单据填好数据,并且保存成功之后,审核的按钮才会被解除禁用,这是触发这个按钮的时候,就可以触发复选框选中。
    在这里插入图片描述
    下面分享一下我的做法:我是通过找到这个框,然后再给这个框添加选中的属性,添加选中之后,再获取这个选中值时,就不能通过获取文本框的方式来获取这个值,如果通过文本框来获取的话是获取不到你所需的值。对于添加属性的方法:attr(),prop()这两种方法比较常用的,到这里就可以想到,我所有的选中复选框的方法来源什么方法了。

    对于attr设置属性值的方法,在W3C中也有一些介绍,如下截图:
    在这里插入图片描述
    对于如何触发这个复选框选中事件,做作了以下的说明:

    1、数据回填成功,没有审核的单据,可以审核,这个审核单据,只是通过审核按钮触发审核,复选框是不能选择的。

    2、要使这个复选框为选中的状态,并传一个true的值到控制器
    ,修改单据的状态 添加这个复选框为选中:$("#fromToVoidNo").prop(“chacked”,true); 或者 $("#fromToVoidNo").attr(“chacked”,true);

    在审核这个方法中,添加一个复选框为选中的状态,在页面断点,可以看到这个复选框的值为true
    在这里插入图片描述
    注意:在获取这个添加选中复选框的值,也要通过添加属性值的方式获取这个选中值。

    3、在回填时,可以判断单据的状态是否为true。如果为true,就添加复选框选中,如果为false,不选中

    下图是根据状态来判断是否选中复选框的效果:
    在这里插入图片描述

    判断复选框是否选中:返回true或false

    $(’#fromToVoidNo ').attr(‘checked’);

    $(’#fromToVoidNo ‘).is(’:checked’);

    $("#fromToVoidNo ")get(0).checked;

    $("#fromToVoidNo ").prop(“checked”);

    设置复选框选中:

    $("#fromToVoidNo").attr(“chacked”,true); 将多选框设为全选中状态
    false为不选中状态

    $("#fromToVoidNo").prop(“chacked”,true);

    特别说明:

    在获取这个选中的时候,同时也要添加上你添加选中的属性,才可以获取到你添加了复选框选中的值

    比如:我要通过这个选中值,作为一个参数,提交方法到控制器,那么你就需要获取你刚添加的选中值。虽然你的复选框是通过input标签设置的,但是你选中的时候是通过属性添加选中的,所以在这里你还是通过获取文本框value值的话,是无法达到你想要的效果的,只能通过添加属性获取。

    eg: $("#fromToVoidNo").prop(“checked”, true);//添加复选框 选中

           var fromToVoidNo = $("#fromToVoidNo").prop("checked"); 
    

    通过下面这种方式获取的话,所得的值是不选中的值(false)

    var formVoidNo = $("#fromToVoidNo").val();//审核否

    设置复选框不选中

    $("#fromToVoidNo").attr(“chacked”,false); 将多选框设为全选中状态
    false为不选中状态

    $("#fromToVoidNo").prop(“chacked”,false);

    移除选中:

    $("#fromToVoidNo ").removeAttr(“checked”);移除多选框的选中

    总结:

    单、复选框选中,判断是否选中,给一些操作带来很大的便利。比如,你在回填一条数据是,在单、复选框中,直接添加value值为true,它回填的时候这个值为true可能回填选中了;但是你在做其他操作是,尽管你没选中,它提交的值也会为true。如果你是为它添加选中的话,结果就不一样了。

    单选框也是如此使用,只是id值不一样而已

    展开全文
  • 这张就是点击了一次复选框, 然后电机的第四行, 才能显示选中效果 ----- ![图片说明](https://img-ask.csdn.net/upload/201905/13/1557730302_970165.jpg) 这是代码 ----- ``` ref="table" ...
  • jquery实现 复选框 选中和不选中 美化复选框
  • CSS3基于SVG复选框选中动画特效是一款点击选中复选框动画,待办事项列表复选框选中动画特效。
  • CSS3基于SVG复选框选中动画特效是一款点击选中复选框动画,待办事项列表复选框选中动画特效。
  • **工程需求:**导出excel时,设置复选框选中或不选中 **解决方案:**使用excel模板导出,在模板中设置复选框的值true/false,来设置选中或不选中 步骤一:插入复选框 此时点机复选框,就可以设置选中或不选中,但是...

    工程需求:导出excel时,设置复选框选中或不选中
    解决方案:使用excel模板导出,在模板中设置复选框的值true/false,来设置选中或不选中

    步骤一:插入复选框
    在这里插入图片描述
    此时点机复选框,就可以设置选中或不选中,但是我们希望通过java接口来操作

    步骤二:为复选框设置单元格连接
    在这里插入图片描述
    此时点机复选框为选中/不选中,链接的单元格的值也会变为true/false
    修改链接复选框的值为true或false,复选框也会自动变为选中或不选中

    选中时,超链接单元格的值为true
    在这里插入图片描述

    不选中时,超链接的值为false
    在这里插入图片描述

    步骤三:通过poi接口,来控制选中或不选中

    具体代码请从github下载:https://github.com/wyj180/spring-boot-easypoi.git
    在这里插入图片描述

    特别说明:需要office来设置模板,使用wps不行

    遇到的问题:
    1、 如何在office中找到”开发工具”?
    默认是不显示开发者工具的,需要设置一下
    文件 -> 选项 -> 自定义工能区 -> 选中开发工具
    在这里插入图片描述
    设置之后的效果
    在这里插入图片描述

    问题2:使用easypoi设置值为true或false,打开导出的excel查看效果,发现不生效,如果这时把单元格格式设置为常规,就会生效,可见,easypoi默认在处理单元格时会设置为文本,因此不生效
    解决办法:使用原生poi接口,设置boolean值来解决

    问题3:导出列表数据时,会报错
    java.lang.IllegalStateException: Cannot add merged region A21:B24 to sheet because it overlaps with an existing merged region (A21:B24).
    或报错:ERROR c.a.easypoi.util.PoiMergeCellUtil - 发生了一次合并单元格错误,24,25,5,5
    解决办法:升级easypoi的jar包
    将easypoi-spring-boot-starter依赖,4.0.0升级为4.1.0

    如果你也遇到了这个问题,欢迎一起交流 QQ:1915418799

    展开全文
  • TreeControl复选框选中某个节点的复选框后,自动选中子节点的复选框
  • JS删除复选框选中

    千次阅读 2020-04-08 19:35:58
    一般是在报表中,我们可以通过复选框的形式进行勾选,然后通过按钮或者超链接触发JavaScript事件,获取复选框选中行,在进行一键删除。 接下来,就来讲解一下,如何通过获取复选框,获取选中行数据,进行一键删除行...
  • CSS3基于SVG复选框选中动画特效是一款点击选中复选框动画,待办事项列表复选框选中动画特效。
  • 今天小编就为大家分享一篇layui 监听表格复选框选中值的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
  • JS获取复选框选中个数

    千次阅读 2019-01-02 10:09:17
    在报表制作过程中,因为没有公式可以获取到根据使用者的勾选情况,计算出复选框选中个数,所以这里需要在复选框中添加“状态改变”的javascript事件,用于自动获取使用者复选框选中个数,并赋值到指定单元格中。...
  • ztree复选框选中事件

    千次阅读 2018-07-30 16:54:33
    callback: {  //树复选框选中事件  onCheck: zTreeOnCheck    }        //统计申请份数  function zTreeOnCheck(event, treeId, treeNode){  var...
  • 复选框选中表格中的行进行删除行操作 复选框选中表格中的行进行删除行操作 复选框选中表格中的行进行删除行操作
  • C# treeview复选框选中问题 父节点选中 相应的子节点也被选中 父节点不选中 子节点全部不选中;子节点全部选中 父节点也被选中
  • 利用Jquery 做出的效果是:复选框选中之后 按钮才能点击
  • 昨天在使用easyui的过程中出现一个问题,就是当我需要使用复选框批量处理数据时,要求只有复选框选中的数据才可以处理,结果发现当单击数据时,数据也会被选中,后来百度发现有人说SelectOnCheck属性与CheckOnSelect...
  • js获取复选框选中项的值 简单又实用,分数不多欢迎下载!
  • treegrid复选框选中

    千次阅读 2017-10-18 21:00:55
    碰到个EasyUI复选框选中问题,困扰好一会,记录下 resTreeGrid = $('#resTreeGrid').treegrid({ fit : true, fitColumns : false, border : false, idField : 'code', treeField : 'name', ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 124,618
精华内容 49,847
关键字:

怎么设置复选框选中