读书人

问大家个有关问题呀。

发布时间: 2013-09-06 10:17:17 作者: rapoo

问大家个问题呀。。。
第一个下拉框:<select name="source" alt="问大家个有关问题呀。" />

不是记不住下拉框里面的值,就是移除不了,要么就是刷新一次 下拉框就变短了。。

各位大神,,,,请出手吧,,,,问大家个有关问题呀。 Web select
[解决办法]
1,source 改变 提交后台,刷新页面,或ajax提交重新生成
2,operator 的数据不多可以 先全部生成 JS数组,由JS来生成
[解决办法]

引用:
1,source 改变 提交后台,刷新页面,或ajax提交重新生成
2,operator 的数据不多可以 先全部生成 JS数组,由JS来生成


首先:你要保证能够收到source 的value
其次:新建一个list来保存operator的value值,每次根据source筛选数据都操作完整的operator,数据筛选完后后赋值给list;
[解决办法]
引用:
Quote: 引用:

Quote: 引用:

1,source 改变 提交后台,刷新页面,或ajax提交重新生成
2,operator 的数据不多可以 先全部生成 JS数组,由JS来生成


首先:你要保证能够收到source 的value
其次:新建一个list来保存operator的value值,每次根据source筛选数据都操作完整的operator,数据筛选完后后赋值给list;


唉。。。。。。。。。。。。
问大家个有关问题呀。
[解决办法]
2级联动,2种情况 把值写成2个数组,,
然后判断 1,2, 对应对应的数组装进 第二个select就可以啦;


最懒的方法就是 写2个第二个 select, 里面的 选项对应2种情况;;
选择1,第二个select 显示,第三个隐藏;
选择2,第三个显示,第二个隐藏;
这个懒方法 都把我笑哭了。
[解决办法]
//你先保存份你后台的option 吧
var optArr=[];
<c:forEach items="${operList}" var="oper" varStatus="s">
optArr[${s.index}]={};
optArr[${s.index}].name=${oper.opername};
optArr[${s.index}].value=${oper.operatorid};

</c:forEach>

function chShow(e){
if(e=='1'){
var x=document.getElementById("第二个下拉框")
//循环删除然后append <option value="-2">imp</option>

}
if(e=='-2'){
//operator
var x=document.getElementById("第二个下拉框")
//循环如果当前的value是-2 删除
x.remove(x.selectedIndex)
}

<select name="source" class="field" onchange="chShow(this.vale)">
<option value="1">web</option>
<option value="-2">imp</option>
</select>

[解决办法]
写了个例子你参考下

<form name="f1" >
<select name="source" class="field" onchange="chShow(this)">
<option value="1">web</option>
<option value="-2">imp</option>
</select>

<select name="operator" class="f">
<option value="1">1</option>
<option value="2">2</option>
<option value="-2">imp</option>
</select>
</form>


<script>
var f=document.forms['f1'];
var ds=[];
function chShow(){
f.operator.length=0;
if(f.source.value==1){


for(var i=0;i<ds.length;i++)
f.operator.options.add( new Option( ds[i].t,ds[i].v ) )
}else{
f.operator.options.add( new Option( 'imp',-2) )
}
}
window.onload=function(){
var opts=f.operator.options;
for(var i=0;i< opts.length;i++){
opts[i].value!='-2'&&ds.push( { t: opts[i].text,v:opts[i].value } )
}
}
</script>


[解决办法]

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script type="text/javascript" src="http://www.apobates.com/js/jquery.js"></script>
<title>无标题文档</title>
</head>

<body>
<select name="source" class="field">
<option value="1">web</option>
<option value="-2">imp</option>
</select>

<select name="operator" class="f">
<option value="">==plase choose==</option>
<option value="100">100</option>
<option value="200">200</option>
<option value="200">300</option>
<option value="400">400</option>
<option value="500">500</option>

<option value="-2">imp</option>
</select>
<script type="text/javascript">
jQuery(function($){
$('.field').change(function(){
if($(this).val() == '1'){
$('.f').find('option').show();
$('.f').find('option[value!=-2]').hide();
}

if($(this).val() == '-2'){
$('.f').find('option').show();
$('.f').find('option[value=-2]').hide();
}
});
});
</script>
</body>
</html>





引用一个jquery.js

读书人网 >JavaScript

热点推荐