我现在写了三个select选择框,我现在要求是第一个选择框为enable可选状态,第二和第三暂时为disabled,当第一个select进行了选择值后第二才能进行选择,第二个进行选择了第三个才能选择,并且要求在第三个select选择后进行change事件跳转url,并且在跳转后三个select选择的值要求跟原来选择的值是一样的。我是个js方面的完全菜鸟 求大神帮助啊 如果有写好过的例子求粘贴和发到我邮箱:[email protected]!跪求跪谢啊!selecturljs跳转
解决方案 »
- Ext 的htmleditor控件 保存数据后取出显示怎么多了" \r\n符号??
- 一段js 的switch语句,在IE中就运行不好,chrome很顺利,为啥子?
- var fAppVersion=parseFloat(navigator.appVersion);
- 我该怎么样选择?
- 请教js高手:网页背景色实现三种颜色渐变效果
- javascript中把session赋给一个变量,然后显示,出现问题???
- 小弟跪求!!javascript菜问题!
- 弹出固定大小和具有滚动条的窗口语句如何写
- 请问如何用frame.onload方法判断iframe是否加载完全?
- 请问各位,如何使用javascript实现分页打印?
- 滚动加载图片到底有没有用?
- javascript怎么把这个转化为Array
<form id="f1">
<select id="s1" name="s1" >
<option value="" >请选择</option>
<option value="1" >1</option>
<option value="2">2</option>
</select>
<select id="s2" name="s2" disabled >
<option value="" >请选择</option>
<option value="a" >a</option>
<option value="b">b</option>
</select>
<select id="s3" name="s3" disabled >
<option value="" >请选择</option>
<option value="abc" >abc</option>
<option value="efg">efg</option>
</select>
</form>
<script>
document.write( new Date().getTime() )
function g(id){ return document.getElementById(id) }
g('s1').onchange=function(){
g('s2').disabled=!this.value;
}
g('s2').onchange=function(){
g('s3').disabled=!this.value;
}
g('s3').onchange=function(){
window.name=[g('s1').value,g('s2').value,this.value];
this.form.submit();
}
window.onload=function(){
var vs=this.name.split(',')
for(var i=0;i<vs.length;i++){
g('s'+(i+1)).value=vs[i];
if(i!=2) g('s'+(i+1)).onchange()
}
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
<script type="text/javascript">
var a={
'eles':[],
'cooks':{},
'$':function(){
for(var i=0,len=arguments.length;i<len;i++){
this.eles.push(document.getElementById(arguments[i]));
}
},
'setCookie':function(){
var str="";
for(var i in this.cooks){
if(this.cooks.hasOwnProperty(i)){
str+=this.cooks[i];
}
}
document.cookie="cooks="+str+";max-age=1000000";
},
'getCookie':function(){
var cook=document.cookie;
var begin=cook.indexOf('cooks')+6;
var end=cook.indexOf(";",begin);
if(end==-1){
end=cook.length;
}
cook=cook.substring(begin,end);
return cook;
},
'setValues':function(){
var str=this.getCookie();
str=str.split(',');
for(var i=0;i<this.eles.length;i++){
this.eles[i].value=str[i];
}
},
'init':function(){
this.$.apply(this,arguments);
var me=this;
this.setValues();
for(var i=0,len=me.eles.length;i<len;i++){
(function(m){
me.eles[m].onchange=function(){
me.cooks[m]=me.eles[m][me.eles[m].selectedIndex].innerHTML+",";
if(m+1<len){
me.eles[m+1].disabled=false;
}else{
me.setCookie();
window.location.href=me.eles[m][me.eles[m].selectedIndex].innerHTML;
}
}
})(i);
}
}
}
window.onload=function(){a.init('test1','test2','test3')};
</script>
</head><body>
<select id="test1">
<option value="1">1</option>
<option value="2">2</option>
</select>
<select id="test2" disabled="disabled">
<option value="3">3</option>
<option value="4">4</option>
</select>
<select id="test3" disabled="disabled">
<option value="http://www.baidu.com">http://www.baidu.com</option>
<option value="http://www.hao123.com">http://www.hao123.com</option>
</select>
</body>
</html>
<select name="test">
<OPTGroup label="a">
<option value="1">aaa</option>
<option value="2">bbb</option>
</OptGroup>
<OPTGroup label="b">
<option value="3">ccc</option>
<option value="4">ddd</option>
</OptGroup></select>为什么考虑用分组呢,因为三个下拉做一个事情,给用户的感觉到下拉太多,使用困难
function $E(id) {
return document.getElementById(id);
}
function selectEnable() {
var formId = $E('f1');
var s1 = $E('s1');
var s2 = $E('s2');
var s3 = $E('s3');
s1.onchange = function () {
s2.disabled = !this.value;
}
s2.onchange = function () {
s3.disabled = !this.value;
}
s3.onchange = function () {
this.form.submit();
}
}