js 多选框

本文介绍了一个在线表格,用户可以使用下拉菜单选择日期范围,并通过点击按钮应用筛选条件。用户可以选择星期进行筛选,同时可以对筛选结果进行保存。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

<form name="form1" action="#"   onsubmit="return check(this);">
  <table class="con_list" width="670" border="0" cellspacing="0"
   cellpadding="0">
   
  
   <tr>
    <td width="80" id="sshu">星期:</td>
    <td colspan="4" valign="middle"><select  name="wxcs"  multiple="true" ondblclick="move(document.form1);"
     size="10"   style="width:150px; ">
       <option value="1">星期一</option>
       <option value="2">星期二</option>
       <option value="3">星期三</option>
       <option value="4">星期四</option>
       <option value="5">星期五</option>
       <option value="6">星期六</option>
       <option value="7">星期七</option>
       <option value="8">全部</option>
    </select>
    <input type="button" value="-->" name="selectCat" onClick="moveAll(document.form1);"/>
    <input type="button" value="<--" name="selectCat" onClick="dele(document.form1);"/>
         <select multiple="true" name="sxcs"   size="10"   style="width:150px; " ondblclick="dele(document.form1)">
    </td>
   </tr>
   
   <tr>
   <td width="80">
    <a class="baocun" href="javascript:dotijiao(document.form1);">确定</a>
   </td>
   <td width="80"><a class="quxiao"
    href="${basePath}doctor/info.html">返回</a>
   </td>
   <td width="148">&nbsp;</td>
   <td width="396">&nbsp;</td>
  </tr>
  </table>
</form> 
<script language="javascript">
function move(cs){
var addflag = true;
var fl = cs.wxcs.selectedIndex;
var item = new Option(cs.wxcs.options[fl].text,cs.wxcs.options[fl].value);
//判断右列表是否已经存在所选信息
for(var x = 0 ; x <cs.sxcs.options.length; x++){
    if (cs.sxcs.options[x].value == cs.wxcs.options[fl].value){//如果右列表中的值等于左列表的值
     addflag = false;
     }
             }
         //添加未存在在右边列表的信息
       if(addflag){     
       cs.sxcs.options[cs.sxcs.options.length] = item;
       }
   }
 
   function moveAll(cs){
   var addflag;
var fl = cs.wxcs.selectedIndex;
for(var i = 0 ; i <cs.wxcs.options.length; i++){//循环左框所有值对象
addflag = true; 
if(cs.wxcs.options[i].selected){//判断值是否被选中
//判断右列表是否已经存在所选信息
for(var x = 0 ; x <cs.sxcs.options.length; x++){
    if (cs.sxcs.options[x].value == cs.wxcs.options[i].value){//如果右列表中的值等于左列表的值
     addflag = false;
     }
             }
         //添加未存在在右边列表的信息
       if(addflag){      
       cs.sxcs.options[cs.sxcs.options.length] = new Option(cs.wxcs.options[i].text,cs.wxcs.options[i].value);
       }
       }
       }
   }
 
function dele(cs){
      var sp=cs.sxcs.selectedIndex;//当前选择的位置编号
      var so = cs.sxcs.options[sp];//获得sp位置编号的值对象
      cs.sxcs.remove(so);//移除此框中的值对象
      //定位,当选择的位置为不是最后一个,则位置不动.否则上移.
    if (cs.sxcs.options.length>sp) {
    sp = sp;
      } else {
    sp = sp-1;
      }
   }
function check(frm) {
     if(frm.sxcs.length < 0){
     alert("请选择参数");
     return false;
     }
     for (x = 0 ; x < frm.sxcs.length ; x++ ){
     frm.sxcs.options[x].selected = "true";   
     }
    }
    </script>
    <script type="text/javascript">
    for(var x = 0 ; x <cs.sxcs.options.length; x++){
   if(x>0){
   week+=","+cs.sxcs.options[x].value;
   }else{
   week+=cs.sxcs.options[x].value;
   }
   alert("week"+week);
             }
     </script>

转载于:https://my.oschina.net/WvTKXOU/blog/464530

### JavaScript 中获取多选框选中值的方法 在 JavaScript 中,可以通过多种方式获取多选框的选中值。以下是几种常见的方法: #### 方法一:通过 `document.getElementsByName` 遍历多选框 可以使用 `getElementsByName` 方法获取具有相同名称的所有多选框元素,并遍历这些元素以检查哪些被选中。对于每一个被选中的多选框,将其值存储到数组中以便后续处理。 ```javascript function getSelectedValues() { let checkboxes = document.getElementsByName("test"); let selectedValues = []; for (let i = 0; i < checkboxes.length; i++) { if (checkboxes[i].checked) { selectedValues.push(checkboxes[i].value); } } return selectedValues; } ``` 此方法适用于原生 JavaScript 的场景[^2]。 --- #### 方法二:利用 jQuery 简化操作 如果项目中已经引入了 jQuery 库,则可以更简洁地实现同样的功能。jQuery 提供了强大的选择器支持,能够快速筛选出所有被选中的多选框及其对应的值。 ```html <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script> <script> function getSelectedValuesWithJquery() { let selectedValues = []; $("input:checkbox[name='qipa250']:checked").each(function() { selectedValues.push($(this).val()); }); return selectedValues; } </script> ``` 这种方法不仅代码更加精炼,而且易于维护和扩展[^3]。 --- #### 方法三:结合事件监听动态更新选中状态 为了实时响应用户的交互行为,还可以为多选框绑定事件监听器,在每次点击时重新计算当前已选中的值列表。 ```javascript let selectedValues = []; // 初始化时收集初始选中项 updateSelectedValues(); function updateSelectedValues() { selectedValues = Array.from(document.querySelectorAll('input[type="checkbox"]:checked')) .map(item => item.value); } // 绑定 change 事件 document.querySelectorAll('input[type="checkbox"]').forEach(box => { box.addEventListener('change', updateSelectedValues); }); ``` 这种方式特别适合于需要频繁查询最新选中状态的应用场合[^4]。 --- ### 总结 以上介绍了三种不同的技术手段用于捕获网页表单里多选框组件所代表的数据集合。无论是采用标准 DOM API 还是第三方框架辅助开发,核心逻辑均围绕着识别目标节点集以及过滤其中满足特定条件(即 checked 属性为 true)成员展开讨论[^1]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值