动态添加的多个select,如何判断选择值 document.getElementById("select_cl").value 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 var slcs = document.getElementsByName(“select_cl”);然后for循环 我还是使用jquery来帮你操作吧,建议多接触一下jquery,繁琐的代码没必要,function returncheck(){var flag = true;//获取多个select,当然$("select")这样写是获取当前页面所有的select$("select").each(function(){当发现有空值的就终止循环,并将flag设置为false;避免全数组检查,浪费时间 if(!$(this).val()){flag = false;return false;//return false是为了终止循环,相当于break;}});return flag;} $(#select_cl).val() jquery方法 ,所有选中的值返回 数组。js写法:var s=document.all['select_cl'].options; 返回数组,是dom对象遍历for(var i=0;i<s.length;i++){if(s[i].checked==true)alert(s[i].value);} <input name="Sub_save" type="submit" id="Sub_save" value="保存" onClick="returncheck.call(this);" />function returncheck(){ //javascript var tr = this.parentElement.parentElement; var sels = document.getElementsByName("select_cl"); for(var i = 0 ; i < sels.length ; i++){ if(tr === sels[i].parentElement.parentElement){ alert(sels[i].value); } } //jquery alert($(this).closest("tr").find("select[name='select_cl']").val()); } 哥们我试试一下,function returncheck(){var flag=false;$("select[name=select_cl]").each(function(){if(!$(this).val()){flag = true;return false;//return false是为了终止循环,相当于break;} });if (flag=true){alert("dd");return false;}我添加了一个select 后,没有操作选项(默认值为空),执行returncheck 会出现alert("dd");但是我改了正确选项后还是出现alert("dd");这是怎么回事啊! 哥们我试试一下,function returncheck(){var flag=false;$("select[name=select_cl]").each(function(){if(!$(this).val()){flag = true;return false;//return false是为了终止循环,相当于break;} });if (flag=true){alert("dd");return false;}我添加了一个select 后,没有操作选项(默认值为空),执行returncheck 会出现alert("dd");但是我改了正确选项后还是出现alert("dd");这是怎么回事啊!你选择器匹配到的就一个,还遍历?没用,if (flag=true) 这里条件是个赋值语句,不是逻辑表达式。 不好意思! 输入错误! 呵呵!再加个判断,如果select 的值相同的话如何判断! 你这里好像只用到了一个select,那你就直接针对那个select来判断它的值是否为空呗,我那个是针对你页面中所有的select的,只要其中一个的值为空都会认为校验失败返回false,只需要调用这个方法获取返回值是false还是true就可以了 function returncheck(){ var sels = document.getElementsByName("select_cl"); var selObj = {}; for(var i = 0 ; i < sels.length ; i++){ if(sels[i].value == ""){ alert("row:"+(i+1) + " is null"); } else if(selObj[sels[i].value]){ alert("row:"+(i+1) + " is exist"); } else { selObj[sels[i].value] = sels[i].value; } } }刚才理解错误.试试这个 谢谢各位,我只是一个初学者,对java之类可以说,不通啊!今天是小年,祝大家过年 快乐 另: newTd0.innerHTML ="材料<select id='select_cl' name='select_cl'><option value=''>请选择材料</option><option value='单模FC/PC跳线(3-5M)'>单模FC/PC跳线(3-5M)</option><option value='单模FC/APC跳线(3-5M)'>单模FC/APC跳线(3-5M)</option><option value='单模SC/PC跳线(3-5M)'>单模SC/PC跳线(3-5M)</option><option value='单模SC/APC跳线(3-5M)'>单模SC/APC跳线(3-5M)</option><option value='单模FC/PC跳线(10M)'>单模FC/PC跳线(10M)</option</select>";上面的option只是数据库表中一部分,在动态添加select 时,option 的值要从数据库表中提取,如何做??我只知道定义一个数组然后从数据库表中取出来: var onecount; onecount=0; subcat = new Array(); <%Set getconn = getRecordsetconnSet RsSel = server.CreateObject("adodb.recordset")sqlstr = "select * from table_cl_name"RsSel.Open sqlstr, getconn, 1, 1icount = 0While Not RsSel.EOF%> subcat[<%=icount%>] = new Array("<%=RsSel("cl_name")%>"); <%icount = icount + 1RsSel.movenextWendcloseRecordset(RsSel)closeRecordset(getconn )%> onecount=<%=icount%>;然后怎么做?? javascript之for in 循环用法请教 Ext RowExpander 点不开 js高手进来帮忙,IE浏览器下繁简转换正常,但在firefox浏览器下出错,请帮忙找出原因并改正,谢谢! 这个表单检验应该怎么写? JavaScript如何做出日历 Mozilla下的回车事件怎么写啊,高人执教 请问在同一页面里能使用多个 javascript 吗? 请问关于数组排序的问题 感谢大虾!如何使用javascript实现在网页上合并和拆分表格,如何利用srcELEMENT.innerHTMl的属性 如何在两个页面传递参数 为什么IE下select无法刷新内容? 请问这种词云怎么实现?
然后for循环
function returncheck()
{
var flag = true;
//获取多个select,当然$("select")这样写是获取当前页面所有的select
$("select").each(function(){
当发现有空值的就终止循环,并将flag设置为false;避免全数组检查,浪费时间
if(!$(this).val()){
flag = false;
return false;//return false是为了终止循环,相当于break;
}});
return flag;
}
var s=document.all['select_cl'].options; 返回数组,是dom对象遍历
for(var i=0;i<s.length;i++){
if(s[i].checked==true)
alert(s[i].value);
}
<input name="Sub_save" type="submit" id="Sub_save" value="保存" onClick="returncheck.call(this);" />
function returncheck(){
//javascript
var tr = this.parentElement.parentElement;
var sels = document.getElementsByName("select_cl");
for(var i = 0 ; i < sels.length ; i++){
if(tr === sels[i].parentElement.parentElement){
alert(sels[i].value);
}
}
//jquery
alert($(this).closest("tr").find("select[name='select_cl']").val());
}
哥们我试试一下,
function returncheck()
{
var flag=false;
$("select[name=select_cl]").each(function(){
if(!$(this).val()){
flag = true;
return false;//return false是为了终止循环,相当于break;
}
});
if (flag=true)
{
alert("dd");
return false;
}
我添加了一个select 后,没有操作选项(默认值为空),执行returncheck 会出现alert("dd");但是我改了正确选项后还是出现alert("dd");这是怎么回事啊!
哥们我试试一下,
function returncheck()
{
var flag=false;
$("select[name=select_cl]").each(function(){
if(!$(this).val()){
flag = true;
return false;//return false是为了终止循环,相当于break;
}
});
if (flag=true)
{
alert("dd");
return false;
}
我添加了一个select 后,没有操作选项(默认值为空),执行returncheck 会出现alert("dd");但是我改了正确选项后还是出现alert("dd");这是怎么回事啊!
你选择器匹配到的就一个,还遍历?没用,
if (flag=true) 这里条件是个赋值语句,不是逻辑表达式。
再加个判断,如果select 的值相同的话如何判断!
function returncheck(){
var sels = document.getElementsByName("select_cl");
var selObj = {};
for(var i = 0 ; i < sels.length ; i++){
if(sels[i].value == ""){
alert("row:"+(i+1) + " is null");
} else if(selObj[sels[i].value]){
alert("row:"+(i+1) + " is exist");
} else {
selObj[sels[i].value] = sels[i].value;
}
}
}刚才理解错误.试试这个
今天是小年,祝大家过年 快乐
newTd0.innerHTML ="材料<select id='select_cl' name='select_cl'><option value=''>请选择材料</option><option value='单模FC/PC跳线(3-5M)'>单模FC/PC跳线(3-5M)</option><option value='单模FC/APC跳线(3-5M)'>单模FC/APC跳线(3-5M)</option><option value='单模SC/PC跳线(3-5M)'>单模SC/PC跳线(3-5M)</option><option value='单模SC/APC跳线(3-5M)'>单模SC/APC跳线(3-5M)</option><option value='单模FC/PC跳线(10M)'>单模FC/PC跳线(10M)</option</select>";上面的option只是数据库表中一部分,
在动态添加select 时,option 的值要从数据库表中提取,如何做??
我只知道定义一个数组然后从数据库表中取出来:
var onecount;
onecount=0;
subcat = new Array();
<%
Set getconn = getRecordsetconn
Set RsSel = server.CreateObject("adodb.recordset")
sqlstr = "select * from table_cl_name"
RsSel.Open sqlstr, getconn, 1, 1
icount = 0
While Not RsSel.EOF%>
subcat[<%=icount%>] = new Array("<%=RsSel("cl_name")%>");
<%
icount = icount + 1
RsSel.movenext
Wend
closeRecordset(RsSel)
closeRecordset(getconn )
%>
onecount=<%=icount%>;然后怎么做??