<tr>
<td><input type="CHECKBOX" name="date" value="time">按时间</td>
<td>
<select name="dateType"/>
<option value="1">时间1/option>
<option value="2">时间2/option>
<option value="3">时间3/option>
<option value="4">时间</option>
</select>
</td>
</tr>
<td><input type="CHECKBOX" name="sendname" value="shr">送货人</td>
<td>
<select name="shrXm"/>
<option value="送单员1">送单员1</option>
<option value="送单员2">送单员2</option>
</select>
</td>我的源码类似以上这个样子,我想用JavaScript判断checkbox是否选中(在页面上有至少10种checkbox),然后去取checkbox选中的值,有可能checkbox有多个同时被选中的情况,也就是说选中情况有交集,请高手解决如何实现,提供个思路也成
<td><input type="CHECKBOX" name="date" value="time">按时间</td>
<td>
<select name="dateType"/>
<option value="1">时间1/option>
<option value="2">时间2/option>
<option value="3">时间3/option>
<option value="4">时间</option>
</select>
</td>
</tr>
<td><input type="CHECKBOX" name="sendname" value="shr">送货人</td>
<td>
<select name="shrXm"/>
<option value="送单员1">送单员1</option>
<option value="送单员2">送单员2</option>
</select>
</td>我的源码类似以上这个样子,我想用JavaScript判断checkbox是否选中(在页面上有至少10种checkbox),然后去取checkbox选中的值,有可能checkbox有多个同时被选中的情况,也就是说选中情况有交集,请高手解决如何实现,提供个思路也成
var cbxDate = document.getElementsByName('date')[0];
if(cbxDate.checked){
var selDateType = document.getElementsByName('dateType')[0];
alert(selDateType.value);
}
// .....
}
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
</head>
<body onload="init()">
<script type="text/javascript">
function init(){
document.getElementById("dateType").setAttribute('disabled',true);
document.getElementById("shrXm").setAttribute('disabled',true);
}
function setDateType(){
if(document.getElementById("date").checked==false){
document.getElementById("dateType").setAttribute('disabled',true);
}else{
document.getElementById("dateType").setAttribute('disabled',false);
}
}
function setSendname(){
if(document.getElementById("sendname").checked==false){
document.getElementById("shrXm").setAttribute('disabled',true);
}else{
document.getElementById("shrXm").setAttribute('disabled',false);
}
}
</script>
<tr>
<td><input type="CHECKBOX" name="date" id="date" value="time" onclick="setDateType()">按时间</td>
<td>
<select name="dateType" name="dateType"/>
<option value="1">时间1</option>
<option value="2">时间2</option>
<option value="3">时间3</option>
<option value="4">时间4</option>
</select>
</td>
</tr>
<td><input type="CHECKBOX" name="sendname" id="sendname" value="shr" onclick="setSendname()">送货人</td>
<td>
<select name="shrXm" id="shrXm"/>
<option value="送单员1">送单员1</option>
<option value="送单员2">送单员2</option>
</select>
</td>
</body>
</html>然后表單提交到后臺 判斷前臺 2個 checkbox是否被選中
如果選中就取值,沒有選中就不取值。
<script type="text/javascript">
function isChecked(){
var ches = document.getElementsByName("che");
var j = 0;
var str;
for(var i = 0;i < ches.length;i++){
if(ches[i].checked){
j++;
ches[i].value = str;
}
if(j > 0){
alert(str);
}
}
}
</script>
<td><input type="checkbox" name="che" id="date" value="time">按时间</td>
<td><input type="checkbox" name="che" id="sendname" value="shr">送货人</td>
那前面你打勾不打勾又有什么用。
樓主要打勾 才選,不打勾 不選。我2樓補充后臺代碼:<%@ page language="java" import="java.util.*" pageEncoding="GB18030"%>
<%
String date= request.getParameter("date");//判斷是否打勾
if(date!=null){//打勾就進行下面取值,下面一樣。
out.println(request.getParameter("dateType"));
}String sendname=request.getParameter("sendname");
if(sendname!=null){
out.println(request.getParameter("shrXm"));
}
%>
PS:中文處理樓主你該會的 我就不做了。
String chkObj=request.getParameter("dateType");
String obj="";
if(chkObj!=null)
{
if(chkObj.length>=1)
{
for(int i=0;i<chkObj.length;i++)
{
if(i==chkObj.length-1){
obj+=chkObj[i];
}else{
obj+=chkObj[i]+",";
}
}
}
}
function BoxChecked() {
var chkbox = document.getElementsByTagName("input");
var cnt=0;
for(var i=0; i < chkbox.length; i++) {
var chk_e = chkbox[i];
if(chk_e.type=="checkbox")
cnt = cnt+1; //获取CHECKBOX数量
}
//逐个检查checkBox
for(var j=0; j < cnt; j++) {
if(chkbox[j+1].checked){
var option = document.getElementsByTagName("select")[j];
alert(option.value);
}
}
}
要是就是要去checkbox的值,直接遍历就好了!