函数以及变量的命名 自己依需而定
① selected
<select id="selectId" name="dataBean.departmentAndBusiness.businessId" multiple="multiple" style="overflow:visible;width: 150px;height: 300px;text-align: left">
<c:forEach items="${dataBean.disSet}" var="Dept">
<option value='<c:out value="${Dept.businessId}"/>'>
<c:out value="${Dept.name}" />
</option>
</c:forEach>
</select>
function xxx(){
var p=document.getElementById("selectId");
-- 判断是否有记录选中
if(p.value==""){
alert("请选择一条记录");
}else{
-- 要执行的业务逻辑
}
}
<select name="dataBean.departmentAndBusiness.departmentId" id="selOption">
<option>--请选择--</option>
<c:forEach items="${dataBean.disSet}" var="Dept">
<option <c:if test="${Dept.departmentId==dataBean.selectedId}"><c:out value="selected"/></c:if> value='<c:out value="${Dept.departmentId}"/>' >
<c:out value="${Dept.strname}" />
</option>
</c:forEach>
</select>
** dataBean.selectedId 是后台传过来的值 用于在页面刷新的时候 下拉框仍然显示 选中的值
下面这个方法(未解决)
function xxx(){
var p=document.getElementById("selOption");
var pflag=false;
for(var i=0;i<p.options.length;i++){
if(p.options[i].selected==true){
pflag=true;
}
}
alert(pflag);
-- 或者把if语句写成 if(p.options[i].selected)
在IE8 中仍然不起作用 不管有没有选中的值 alert 弹出的都是true
}
② CheckBox
function xxx(){
--判断checkBox是否有选中的记录
var p=document.getElementsByName("selectIds");
var pLen= p.length;
var pCheck=false;
for (var i = 0;i<pLen;i++ ){
if (p[i].checked==true) {
pCheck= true;
break;
}
}
if(!pCheck){
alert("请至少选择一条记录");
}else{
--要执行的逻辑
}
}