所属地区,js控件解决方案,求一个 本帖最后由 vincent201201 于 2014-06-20 17:07:20 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 第一个功能可以给input的readonly=true然后 button去function里给input赋值,至于你的下拉菜单就麻烦点了吧,select下拉菜单里还要加树,难道select嵌套select???~有了解决方案通知下小弟哦~ 点击选择弹出一个层,层里实现树,而不是select下拉菜单 点击选择弹出一个层,层里实现树,而不是select下拉菜单哦 就是用css自己做出来吧? 楼主难道不知道 ext 树这个强大的工具吗 解决你的问题分分钟的事情 看下jQueryeasyui 封装好的组件 直接引tree就行 只要后台返回符合格式的JSON 是呀jquery easyui多好用呀,不过我自己写了一个东西玩玩/** * 初始化二级级联 * @param dataDictionaryTypeName 数据字典类别名称 * @param idone 初始化第一个参数的id * @param valueone 初始化第一个参数的值 * @param aliasone 初始化第一个参数的下拉框的原始值 * @param idtwo 初始化第二个参数的id * @param valuetwo 初始化第二个参数的值 * @param aliastwo 初始化第二个参数的下拉框的原始值 * @return */function initTwo(dataDictionaryTypeName,idone,valueone,aliasone,idtwo,valuetwo,aliastwo){ $("#"+idone).live("change",function (){ var parentId=this.options[this.selectedIndex].value; getChangeNextDictionary(parentId,idtwo,aliastwo,option); }); var list=new Array(); var option; getOneDictionaryList(dataDictionaryTypeName,idone,valueone,aliasone,option); getNextDictionaryList(valueone,idtwo,valuetwo,aliastwo,option);}/** * 初始化三级级联 * @param dataDictionaryTypeName 数据字典类别名称 * @param idone 初始化第一个参数的id * @param valueone 初始化第一个参数的值 * @param aliasone 初始化第一个参数的下拉框的原始值 * @param idtwo 初始化第二个参数的id * @param valuetwo 初始化第二个参数的值 * @param aliastwo 初始化第二个参数的下拉框的原始值 * @param idthree 初始化第三个参数的id * @param valuethree 初始化第三个参数的值 * @param aliasthree 初始化第三个参数的下拉框的原始值 * @return */function initThree(dataDictionaryTypeName,idone,valueone,aliasone,idtwo,valuetwo,aliastwo,idthree,valuethree,aliasthree){ $("#"+idone).live("change",function (){ var parentId=this.options[this.selectedIndex].value; getChangeNextDictionary(parentId,idtwo,aliastwo,option); getChangeNextDictionary("",idthree,aliasthree,option); }); $("#"+idtwo).live("change",function (){ var parentId=this.options[this.selectedIndex].value; getChangeNextDictionary(parentId,idthree,aliasthree,option); }); var list=new Array(); var option; getOneDictionaryList(dataDictionaryTypeName,idone,valueone,aliasone,option); getNextDictionaryList(valueone,idtwo,valuetwo,aliastwo,option); getNextDictionaryList(valuetwo,idthree,valuethree,aliasthree,option);}/** * 初始化四级级联 * @param dataDictionaryTypeName 数据字典类别名称 * @param idone 初始化第一个参数的id * @param valueone 初始化第一个参数的值 * @param aliasone 初始化第一个参数的下拉框的原始值 * @param idtwo 初始化第二个参数的id * @param valuetwo 初始化第二个参数的值 * @param aliastwo 初始化第二个参数的下拉框的原始值 * @param idthree 初始化第三个参数的id * @param valuethree 初始化第三个参数的值 * @param aliasthree 初始化第三个参数的下拉框的原始值 * @param idfour 初始化第四个参数的id * @param valuefour 初始化第四个参数的值 * @param aliasfour 初始化第四个参数的下拉框的原始值 * @return */function initFour(dataDictionaryTypeName,idone,valueone,aliasone,idtwo,valuetwo,aliastwo,idthree,valuethree,aliasthree,idfour,valuefour,aliasfour){ $("#"+idone).live("change",function (){ var parentId=this.options[this.selectedIndex].value; getChangeNextDictionary(parentId,idtwo,aliastwo,option); getChangeNextDictionary("",idthree,aliasthree,option); getChangeNextDictionary("",idfour,aliasfour,option); }); $("#"+idtwo).live("change",function (){ var parentId=this.options[this.selectedIndex].value; getChangeNextDictionary(parentId,idthree,aliasthree,option); getChangeNextDictionary("",idfour,aliasfour,option); }); $("#"+idthree).live("change",function (){ var parentId=this.options[this.selectedIndex].value; getChangeNextDictionary(parentId,idfour,aliasfour,option); }); var list=new Array(); var option; getOneDictionaryList(dataDictionaryTypeName,idone,valueone,aliasone,option); getNextDictionaryList(valueone,idtwo,valuetwo,aliastwo,option); getNextDictionaryList(valuetwo,idthree,valuethree,aliasthree,option); if(MyJs.isNull(valuetwo)){ getNextDictionaryList("",idfour,valuefour,aliasfour,option); }else{ getNextDictionaryList(valuethree,idfour,valuefour,aliasfour,option); }}/** * 获取一级的select框的值 * @param dataDictionaryTypeName 数据字典类别名称 * @param id 下拉框的id * @param value 下拉框的预定值 * @param alias 下拉框的text值 * @param option option变量,没有什么实际意义 * @return */function getOneDictionaryList(dataDictionaryTypeName,id,value,alias,option){ if(!MyJs.isNull(value)){ $.ajax({ type:'post', dataType:'text', url:'/dataDictionaryFront!getParentListByType.xhtml', data:'dataDictionaryTypeName='+MyJs.encodeByValue(dataDictionaryTypeName)+'&t='+MyJs.randomNumber, success:function(data){ if(!MyJs.isNull(data)){ $("#"+id).empty(); option=$("<option>").val("").text(alias); $("#"+id).append(option); list=data.split(','); if(list.length > 0){ for(var i=0;i<list.length;i++){ if(list[i].split("$")[0] == value){ option=$("<option>").val(list[i].split("$")[0]).text(list[i].split("$")[1]).attr("selected","selected"); }else{ option=$("<option>").val(list[i].split("$")[0]).text(list[i].split("$")[1]); } $("#"+id).append(option); } } }else{ $("#"+id).empty(); option=$("<option>").val("").text(alias); $("#"+id).append(option); } } }); }else{ $.ajax({ type:'post', dataType:'text', url:'/dataDictionaryFront!getParentListByType.xhtml', data:'dataDictionaryTypeName='+MyJs.encodeByValue(dataDictionaryTypeName)+'&t='+MyJs.randomNumber, success:function(data){ if(!MyJs.isNull(data)){ $("#"+id).empty(); option=$("<option>").val("").text(alias); $("#"+id).append(option); list=data.split(','); if(list.length > 0){ for(var i=0;i<list.length;i++){ option=$("<option>").val(list[i].split("$")[0]).text(list[i].split("$")[1]); $("#"+id).append(option); } } }else{ $("#"+id).empty(); option=$("<option>").val("").text(alias); $("#"+id).append(option); } } }); }}/** * 改变下拉框的值获取下一级下拉框列表 * @param parentId 父级下拉框的值 * @param id 下一级下拉框的id * @param alias 下一级下拉框的text值 * @param option option变量,没有什么实际意义 * @return */function getChangeNextDictionary(parentId,id,alias,option){ var list=new Array(); if(!MyJs.isNull(parentId)){ $.ajax({ type:'post', dataType:'text', url:'/dataDictionaryFront!getChildsListByParent.xhtml', data:'parentId='+parentId+'&t='+MyJs.randomNumber, success:function(data){ if(!MyJs.isNull(data)){ $("#"+id).empty(); option=$("<option>").val("").text(alias); $("#"+id).append(option); list=data.split(','); if(list.length > 0){ for(var i=0;i<list.length;i++){ option=$("<option>").val(list[i].split("$")[0]).text(list[i].split("$")[1]); $("#"+id).append(option); } } }else{ $("#"+id).empty(); option=$("<option>").val("").text(alias); $("#"+id).append(option); } } }); }else{ $("#"+id).empty(); option=$("<option>").val("").text(alias); $("#"+id).append(option); }}/** * 初始化下一级下拉框 * @param parentId 上一级下拉框的值 * @param id 下一级下拉框的id * @param value 下一级下拉框的值 * @param alias 下一级下拉框的text值 * @param option option变量,没有什么实际意义 * @return */function getNextDictionaryList(parentId,id,value,alias,option){ if(!MyJs.isNull(parentId)){ if(MyJs.isNull(value)){ $.ajax({ type:'post', dataType:'text', url:'/dataDictionaryFront!getChildsListByParent.xhtml', data:'parentId='+parentId+'&t='+MyJs.randomNumber, success:function(data){ if(!MyJs.isNull(data)){ $("#"+id).empty(); option=$("<option>").val("").text(alias); $("#"+id).append(option); list=data.split(','); if(list.length > 0){ for(var i=0;i<list.length;i++){ option=$("<option>").val(list[i].split("$")[0]).text(list[i].split("$")[1]); $("#"+id).append(option); } } }else{ $("#"+id).empty(); option=$("<option>").val("").text(alias); $("#"+id).append(option); } } }); }else{ $.ajax({ type:'post', dataType:'text', url:'/dataDictionaryFront!getChildsListByParent.xhtml', data:'parentId='+parentId+'&t='+MyJs.randomNumber, success:function(data){ if(!MyJs.isNull(data)){ $("#"+id).empty(); option=$("<option>").val("").text(alias); $("#"+id).append(option); list=data.split(','); if(list.length > 0){ for(var i=0;i<list.length;i++){ if(list[i].split("$")[0] == value){ option=$("<option>").val(list[i].split("$")[0]).text(list[i].split("$")[1]).attr("selected","selected"); }else{ option=$("<option>").val(list[i].split("$")[0]).text(list[i].split("$")[1]); } $("#"+id).append(option); } } }else{ $("#"+id).empty(); option=$("<option>").val("").text(alias); $("#"+id).append(option); } } }); } }else{ $("#"+id).empty(); option=$("<option>").val("").text(alias); $("#"+id).append(option); }} weblogic 部署不上产品 HTTP Status 500 - 关于JAVA和OPC通信 关于JDBC连接MYSQL的问题求高手解决啊 jsp简单问题,请教经验丰富的 通过JSP可以成功调用的数据库连接类为啥自身的MAIN和其他java class不能成功调用? 杭州的JAVA高手请进 急求一个 ewebeditor的编辑,要avast查不出来病毒的 紧急帮助在线等待,关于jsp调用Bean的问题 解决了给100分! tomcat 启动 运行一下main方法就出错了 jquery easyui 分页后台怎么传数据到前台
楼主难道不知道 ext 树这个强大的工具吗 解决你的问题分分钟的事情
/**
* 初始化二级级联
* @param dataDictionaryTypeName 数据字典类别名称
* @param idone 初始化第一个参数的id
* @param valueone 初始化第一个参数的值
* @param aliasone 初始化第一个参数的下拉框的原始值
* @param idtwo 初始化第二个参数的id
* @param valuetwo 初始化第二个参数的值
* @param aliastwo 初始化第二个参数的下拉框的原始值
* @return
*/
function initTwo(dataDictionaryTypeName,idone,valueone,aliasone,idtwo,valuetwo,aliastwo){
$("#"+idone).live("change",function (){
var parentId=this.options[this.selectedIndex].value;
getChangeNextDictionary(parentId,idtwo,aliastwo,option);
});
var list=new Array();
var option;
getOneDictionaryList(dataDictionaryTypeName,idone,valueone,aliasone,option);
getNextDictionaryList(valueone,idtwo,valuetwo,aliastwo,option);
}
/**
* 初始化三级级联
* @param dataDictionaryTypeName 数据字典类别名称
* @param idone 初始化第一个参数的id
* @param valueone 初始化第一个参数的值
* @param aliasone 初始化第一个参数的下拉框的原始值
* @param idtwo 初始化第二个参数的id
* @param valuetwo 初始化第二个参数的值
* @param aliastwo 初始化第二个参数的下拉框的原始值
* @param idthree 初始化第三个参数的id
* @param valuethree 初始化第三个参数的值
* @param aliasthree 初始化第三个参数的下拉框的原始值
* @return
*/
function initThree(dataDictionaryTypeName,idone,valueone,aliasone,idtwo,valuetwo,aliastwo,idthree,valuethree,aliasthree){
$("#"+idone).live("change",function (){
var parentId=this.options[this.selectedIndex].value;
getChangeNextDictionary(parentId,idtwo,aliastwo,option);
getChangeNextDictionary("",idthree,aliasthree,option);
});
$("#"+idtwo).live("change",function (){
var parentId=this.options[this.selectedIndex].value;
getChangeNextDictionary(parentId,idthree,aliasthree,option);
});
var list=new Array();
var option;
getOneDictionaryList(dataDictionaryTypeName,idone,valueone,aliasone,option);
getNextDictionaryList(valueone,idtwo,valuetwo,aliastwo,option);
getNextDictionaryList(valuetwo,idthree,valuethree,aliasthree,option);
}
/**
* 初始化四级级联
* @param dataDictionaryTypeName 数据字典类别名称
* @param idone 初始化第一个参数的id
* @param valueone 初始化第一个参数的值
* @param aliasone 初始化第一个参数的下拉框的原始值
* @param idtwo 初始化第二个参数的id
* @param valuetwo 初始化第二个参数的值
* @param aliastwo 初始化第二个参数的下拉框的原始值
* @param idthree 初始化第三个参数的id
* @param valuethree 初始化第三个参数的值
* @param aliasthree 初始化第三个参数的下拉框的原始值
* @param idfour 初始化第四个参数的id
* @param valuefour 初始化第四个参数的值
* @param aliasfour 初始化第四个参数的下拉框的原始值
* @return
*/
function initFour(dataDictionaryTypeName,idone,valueone,aliasone,idtwo,valuetwo,aliastwo,idthree,valuethree,aliasthree,idfour,valuefour,aliasfour){
$("#"+idone).live("change",function (){
var parentId=this.options[this.selectedIndex].value;
getChangeNextDictionary(parentId,idtwo,aliastwo,option);
getChangeNextDictionary("",idthree,aliasthree,option);
getChangeNextDictionary("",idfour,aliasfour,option);
});
$("#"+idtwo).live("change",function (){
var parentId=this.options[this.selectedIndex].value;
getChangeNextDictionary(parentId,idthree,aliasthree,option);
getChangeNextDictionary("",idfour,aliasfour,option);
});
$("#"+idthree).live("change",function (){
var parentId=this.options[this.selectedIndex].value;
getChangeNextDictionary(parentId,idfour,aliasfour,option);
});
var list=new Array();
var option;
getOneDictionaryList(dataDictionaryTypeName,idone,valueone,aliasone,option);
getNextDictionaryList(valueone,idtwo,valuetwo,aliastwo,option);
getNextDictionaryList(valuetwo,idthree,valuethree,aliasthree,option);
if(MyJs.isNull(valuetwo)){
getNextDictionaryList("",idfour,valuefour,aliasfour,option);
}else{
getNextDictionaryList(valuethree,idfour,valuefour,aliasfour,option);
}
}/**
* 获取一级的select框的值
* @param dataDictionaryTypeName 数据字典类别名称
* @param id 下拉框的id
* @param value 下拉框的预定值
* @param alias 下拉框的text值
* @param option option变量,没有什么实际意义
* @return
*/
function getOneDictionaryList(dataDictionaryTypeName,id,value,alias,option){
if(!MyJs.isNull(value)){
$.ajax({
type:'post',
dataType:'text',
url:'/dataDictionaryFront!getParentListByType.xhtml',
data:'dataDictionaryTypeName='+MyJs.encodeByValue(dataDictionaryTypeName)+'&t='+MyJs.randomNumber,
success:function(data){
if(!MyJs.isNull(data)){
$("#"+id).empty();
option=$("<option>").val("").text(alias);
$("#"+id).append(option);
list=data.split(',');
if(list.length > 0){
for(var i=0;i<list.length;i++){
if(list[i].split("$")[0] == value){
option=$("<option>").val(list[i].split("$")[0]).text(list[i].split("$")[1]).attr("selected","selected");
}else{
option=$("<option>").val(list[i].split("$")[0]).text(list[i].split("$")[1]);
}
$("#"+id).append(option);
}
}
}else{
$("#"+id).empty();
option=$("<option>").val("").text(alias);
$("#"+id).append(option);
}
}
});
}else{
$.ajax({
type:'post',
dataType:'text',
url:'/dataDictionaryFront!getParentListByType.xhtml',
data:'dataDictionaryTypeName='+MyJs.encodeByValue(dataDictionaryTypeName)+'&t='+MyJs.randomNumber,
success:function(data){
if(!MyJs.isNull(data)){
$("#"+id).empty();
option=$("<option>").val("").text(alias);
$("#"+id).append(option);
list=data.split(',');
if(list.length > 0){
for(var i=0;i<list.length;i++){
option=$("<option>").val(list[i].split("$")[0]).text(list[i].split("$")[1]);
$("#"+id).append(option);
}
}
}else{
$("#"+id).empty();
option=$("<option>").val("").text(alias);
$("#"+id).append(option);
}
}
});
}
}
/**
* 改变下拉框的值获取下一级下拉框列表
* @param parentId 父级下拉框的值
* @param id 下一级下拉框的id
* @param alias 下一级下拉框的text值
* @param option option变量,没有什么实际意义
* @return
*/
function getChangeNextDictionary(parentId,id,alias,option){
var list=new Array();
if(!MyJs.isNull(parentId)){
$.ajax({
type:'post',
dataType:'text',
url:'/dataDictionaryFront!getChildsListByParent.xhtml',
data:'parentId='+parentId+'&t='+MyJs.randomNumber,
success:function(data){
if(!MyJs.isNull(data)){
$("#"+id).empty();
option=$("<option>").val("").text(alias);
$("#"+id).append(option);
list=data.split(',');
if(list.length > 0){
for(var i=0;i<list.length;i++){
option=$("<option>").val(list[i].split("$")[0]).text(list[i].split("$")[1]);
$("#"+id).append(option);
}
}
}else{
$("#"+id).empty();
option=$("<option>").val("").text(alias);
$("#"+id).append(option);
}
}
});
}else{
$("#"+id).empty();
option=$("<option>").val("").text(alias);
$("#"+id).append(option);
}
}
/**
* 初始化下一级下拉框
* @param parentId 上一级下拉框的值
* @param id 下一级下拉框的id
* @param value 下一级下拉框的值
* @param alias 下一级下拉框的text值
* @param option option变量,没有什么实际意义
* @return
*/
function getNextDictionaryList(parentId,id,value,alias,option){
if(!MyJs.isNull(parentId)){
if(MyJs.isNull(value)){
$.ajax({
type:'post',
dataType:'text',
url:'/dataDictionaryFront!getChildsListByParent.xhtml',
data:'parentId='+parentId+'&t='+MyJs.randomNumber,
success:function(data){
if(!MyJs.isNull(data)){
$("#"+id).empty();
option=$("<option>").val("").text(alias);
$("#"+id).append(option);
list=data.split(',');
if(list.length > 0){
for(var i=0;i<list.length;i++){
option=$("<option>").val(list[i].split("$")[0]).text(list[i].split("$")[1]);
$("#"+id).append(option);
}
}
}else{
$("#"+id).empty();
option=$("<option>").val("").text(alias);
$("#"+id).append(option);
}
}
});
}else{
$.ajax({
type:'post',
dataType:'text',
url:'/dataDictionaryFront!getChildsListByParent.xhtml',
data:'parentId='+parentId+'&t='+MyJs.randomNumber,
success:function(data){
if(!MyJs.isNull(data)){
$("#"+id).empty();
option=$("<option>").val("").text(alias);
$("#"+id).append(option);
list=data.split(',');
if(list.length > 0){
for(var i=0;i<list.length;i++){
if(list[i].split("$")[0] == value){
option=$("<option>").val(list[i].split("$")[0]).text(list[i].split("$")[1]).attr("selected","selected");
}else{
option=$("<option>").val(list[i].split("$")[0]).text(list[i].split("$")[1]);
}
$("#"+id).append(option);
}
}
}else{
$("#"+id).empty();
option=$("<option>").val("").text(alias);
$("#"+id).append(option);
}
}
});
}
}else{
$("#"+id).empty();
option=$("<option>").val("").text(alias);
$("#"+id).append(option);
}
}